本文简要的讨论了Java语言编程中更新XML文档的四种常用方法,并且分析这四种方法的优劣。其次,本文还对如何控制Java程序输出的XML文档的格式做了展开论述。 JAXP是Java API for XML Processing的英文字头缩写,中文含义是:用于XML文档处理的使用Java语言编写的编程接口。JAXP支持DOM、SAX、XSLT等标准。为了增强JAXP使用上的灵活性,开发者特别为JAXP设计了一个Pluggability Layer,在Pluggability Layer的支持之下,JAXP既可以和具体实现DOM API、SAX API 的各种XML解析器(XML Parser,例如Apache Xerces)联合工作,又可以和具体执行XSLT标准的XSLT处理器(XSLT Processor,例如Apache Xalan)联合工作。 目前JAXP已经应用的十分普遍了,可以说是Java语言中处理XML文档的标准API。有些初学者在学习使用JAXP的过程中,经常会提出这样的问题:我编写的程序对DOM Tree做了更新,但是当程序退出以后,原始的XML文档并没有改变,还是老样子,如何实现对原始XML文档和DOM Tree的同步更新呢?咋一看来,在JAXP中似乎没有提供相应的接口/方法/类,这是很多初学者都感到困惑的问题。 方法一:直接读写XML文档 这也许是最笨最原始的办法了。当程序获取DOM Tree之后,应用DOM模型的Node接口的各个方法对DOM Tree进行更新,下一步应该对原始的XML文档进行更新了。我们可以运用递归的办法或者是应用TreeWalker类,遍历整个DOM Tree,与此同时,将DOM Tree的每一个节点/元素依次写入到预先打开的原始XML文档中,当DOM Tree被遍历完全之后,DOM Tree和原始的XML文档就实现了同步更新。实际中,这个方法极少使用,不过如果你要编程实现自己的XML解析器,这种方法还是有可能用得上的。 方法二:使用XmlDocument类 使用XmlDocument类?JAXP中分明没有这个类呀!是不是作者搞错了?没有错!就是使用XmlDocument类,确切的说,是使用XmlDocument类的write()方法。 在上文已经提到过,JAXP可以和各种各样的XML解析器联合使用,这次我们选用的XML解析器是Apache Crimson。XmlDocument(org.apache.crimson.tree.XmlDocument)是Apache Crimson的一个类,并不包含于标准的JAXP中,难怪在JAXP的文档中找不到XmlDocument类的芳踪呢。现在问题出来了,如何应用XmlDocument类来实现更新XML文档的功能?在XmlDocument类中提供了下面三个write()方法(根据Crimson最新的版本------Apache Crimson 1.1.3):
|
闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧湱鈧懓瀚崳纾嬨亹閹烘垹鍊炲銈嗗坊閸嬫挻娼诲┑瀣拺闂侇偆鍋涢懟顖涙櫠閹绢喗鐓涢悘鐐插⒔閵嗘帡鏌嶈閸撱劎绱為崱娑樼;闁告侗鍘鹃弳锔锯偓鍏夊亾闁告洦鍓涢崢鎼佹倵閸忓浜鹃梺閫炲苯澧寸€规洑鍗冲浠嬵敇濠ф儳浜惧ù锝囩《濡插牊淇婇姘Щ闁绘宀稿娲川婵犲倸顫庨梺绋款儐閹告瓕顣炬繝銏f硾椤戝嫮鎹㈤崱娑欑厽闁规澘鍚€缁ㄥ鏌嶈閸撴岸宕归崹顔炬殾闁哄洨鍠撶弧鈧┑顔斤供閸撴盯顢欓崱娑欌拺閻犳亽鍔屽▍鎰版煙閸戙倖瀚� (0) +1 闂傚倸鍊搁崐鎼佸磹閹间礁纾圭€瑰嫭鍣磋ぐ鎺戠倞鐟滃繘寮抽敃鍌涚厱妞ゎ厽鍨垫禍婵嬫煕濞嗗繒绠抽柍褜鍓欑粻宥夊磿闁秴绠悗锝庡枛鐟欙箓鎮楅敐搴℃灍闁绘挻娲熼弻宥夊煛娴e憡鐏撳┑鐐茬墑閸ㄥ綊婀佺紒缁㈠弮閺€杈┾偓姘炬嫹 (0) +1 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒閹绢喗顎栭梺绋款儐閸ㄥ潡骞冨Δ鈧埥澶娾枎鐎n剛绐楁俊鐐€愰弲婊堟偂閿熺姴钃熼柨婵嗩槸缁狅綁鏌ㄥ┑鍡橈紞婵☆偄瀚槐鎾存媴閸濆嫷鈧矂鏌涢妸銉у煟鐎殿喖顭锋俊鎼佸煛閸屾矮绨介梻浣呵归張顒傜矙閹达富鏁傞柨鐕傛嫹 (0) +1
闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧湱鈧懓瀚崳纾嬨亹閹烘垹鍊炲銈嗗坊閸嬫挻娼诲┑瀣拺闂侇偆鍋涢懟顖涙櫠閹绢喗鐓涢悘鐐插⒔閵嗘帡鏌嶈閸撱劎绱為崱娑樼;闁告侗鍘鹃弳锔锯偓鍏夊亾闁告洦鍓涢崢鎼佹倵閸忓浜鹃梺閫炲苯澧寸€规洑鍗冲浠嬵敇濠ф儳浜惧ù锝囩《濡插牊淇婇姘Щ闁绘宀稿娲川婵犲倸顫庨梺绋款儐閹告瓕顣炬繝銏f硾椤戝嫮鎹㈤崱娑欑厽闁规澘鍚€缁ㄥ鏌嶈閸撴岸宕归崹顔炬殾闁哄洢鍨归拑鐔兼煏婢跺牆鍔氶柣搴弮濮婅櫣绮旈崱妤€顏存繛鍫熸閺岋箓宕橀鍕亪闂佸搫鐭夌紞浣割嚕椤曗偓瀹曞爼濡烽姀鐘卞闂侀€炲苯澧撮柡灞剧〒閳ь剨缍嗛崑鍛焊椤撱垺鐓冮柦妯侯樈濡叉悂鏌嶇拠鑼фい銏∏归ˇ杈╃磼閵娿儯鍋㈤柡宀€鍠愮粭鐔煎垂椤旂⒈娼庨柣搴ゎ潐濞叉﹢宕曟總鏉嗗洭顢氶埀顒勫蓟閿熺姴鐒垫い鎺戝閸ゅ秹鏌曟径娑氬缂併劌顭峰娲传閸曨剙绐涢梺绋款儑閸嬨倛妫㈤梺缁樺姉閸庛倝宕愰崹顐e弿婵☆垳鍘ф禍楣冩倵濮樼偓瀚�闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾剧懓顪冪€n亝鎹i柣顓炴閵嗘帒顫濋敐鍛婵°倗濮烽崑鐐烘偋閻樻眹鈧線寮撮姀鐘栄囨煕閳╁啨浠︾紒顔瑰墲娣囧﹪鎮欓鍕ㄥ亾閺嶎厼绀夌憸蹇曞垝婵犳艾绠i柣妯烘▕濡粓姊虹粔鍡楀濞堟洟鏌i幘瀛樼闁哄瞼鍠栭弻鍥晝閳ь剟鎮橀柆宥嗙厱闁靛牆鎷嬮崕鏃堟煛鐏炶鈧繂顕i崼鏇炵閹肩补鈧弶妯婇梻鍌欑閹碱偊寮甸鍌滅煓闁硅揪绠戦悡鈥愁熆鐠哄彿鍫ュ几鎼淬劍鐓欓梺顓ㄧ畱閺嬨倝鏌嶇拠鑼缂佽鲸鎹囧畷鎺戭潩椤戣棄浜惧瀣婵ジ鏌$仦璇插姎闁汇倝绠栭弻锝呂熷▎鎯ф闂佽棄鍟伴崰鏍蓟閿濆绫嶉柛灞绢殕鐎氭盯姊烘潪鎵槮缂佸鏁搁幑銏犫攽閸モ晝鐦堥梺绋挎湰绾板秹鎮橀幘缁樷拺闁告繂瀚敍宥夋煕濡亽鍋㈤柍銉︽瀹曟﹢顢欓崲澹洦鐓曢柟鎵虫櫅婵$厧鈹戦鎯у幋婵﹥妞介幃鐑藉级閹稿寒鍞ㄩ梻浣烘嚀閸ゆ牠骞忛敓锟�>>
正在阅读:Java更新XML的四种常用方法简介Java更新XML的四种常用方法简介
2004-08-25 10:18
出处:CSDN
责任编辑:linjixiong
键盘也能翻页,试试“← →”键