http://haiyupeter.javaeye.com/blog/306572
鍏抽敭瀛? dom4j瀹炰緥 鍥藉鐨刣om4j宸茬粡寰堟祦琛屼簡錛屽浗鍐呯殑鐩稿叧璧勬枡鐩稿杈冨皯錛屼絾鏅強椋庢毚涔熷嵆灝嗗埌鏉ャ傛垜浠叕鍙革紙鑰佸寮鐨勶級瑙f瀽XML灝辨槸鐢ㄧ殑dom4j銆?br />
浠婂ぉ鍏徃娌′簨鍋氾紝鑷繁涔熷啓涓涓皬渚嬪瓙璐翠笂鏉ワ紝鍢粇~
books.xml:
涓嬮潰鎴戜滑浣跨敤dom4j鐨剎Path鏉ヨВ鏋愶細
segment of ParseXML.java:
Document doc = reader.read("books.xml");鐨勬剰鎬濇槸鍔犺澆XML鏂囨。錛屾鏄彲浠ョ敤doc.asXML()鏉ユ煡鐪嬶紝瀹冨皢鎵撳嵃鏁翠釜xml鏂囨。銆?br />
Node root = doc.selectSingleNode("/books");鏄鍙栧垰鎵嶅姞杞界殑xml鏂囨。鍐呯殑books鑺傜偣涓嬬殑鎵鏈夊唴瀹癸紝瀵逛簬鏈緥涔熸槸鏁翠釜xml鏂囨。銆?br />
褰撶劧鎴戜滑涔熷彲浠ュ姞杞?books涓嬬殑鏌愪竴涓妭鐐癸紝濡傦細book鑺傜偣
Node root = doc.selectSingleNode("/books/book");
鎴栵細Node root = doc.selectSingleNode("/books/*");
娉ㄦ剰錛氬鏋滄湁澶氫釜book鑺傜偣錛屽畠鍙細璇誨彇絎竴涓?br />
root.asXML()灝嗘墦鍗幫細
<book show="yes" url="lucene.net">
<title id="456">Lucene Studing</title>
</book>
鏃㈢劧鍔犺澆浜嗚繖涔堝錛岄偅鎴戞庝箞綺劇‘鐨勫緱鍒版垜鎯寵鐨勮妭鐐瑰憿錛屽埆鎬ワ紝鐪嬩笅闈細
List list = root.selectNodes("book[@url='dom4j.com']");
瀹冪殑鎰忔濆氨鏄鍙朾ooks鑺傜偣涓嬬殑book鑺傜偣錛屼笖book鐨勮妭鐐圭殑url灞炴т負dom4j.com
涓轟粈涔堜嬌鐢╨ist鏉ユ帴鏀跺憿錛屽鏋滄湁涓や釜book鑺傜偣錛屼笖瀹冧滑鐨剈rl灞炴ч兘涓篸om4j.com錛屾鏃跺氨灝侀棴鍒發ist閲屼簡銆?br />
濡傛灉鎯寵鍙朾ooks涓嬬殑鎵鏈塨ook鑺傜偣錛屽彲浠ヨ繖鏍鳳細
List list = root.selectNodes("book");
濡傛灉鎯寵鍙朾ooks鑺傜偣涓嬬殑book鑺傜偣涓嬬殑title鑺傜偣錛屽彲浠ヨ繖鏍鳳細
List list2 = root.selectNodes("book[@url='dom4j.com']/title[@id='123']");
娉ㄦ剰錛歴electNodes()鍙傛暟鐨勬牸寮忥細
鑺傜偣鍚峓@灞炴у悕='灞炴у?]錛屽錛歜ook[@url='dom4j.com']
濡傛灉鏈夊涓妭鐐癸紝鐢?#8220;/”鍒嗗紑錛屽錛歜ook[@url='dom4j.com']/title[@id='123']
鏈榪戝氨鏄鍙栧皝闂湪List閲岀殑鍐呭浜嗭紝鍙互鐢∟ode鏉ヨ鍙栵紝涔熷彲浠ョ敤Element鏉ヨ漿鎹€?br />
attributeValue("灞炴?)鏄鍙栬鑺傜偣鐨勫睘鎬у?br />
getText()鏄鍙栬妭鐐圭殑鐨勫唴瀹廣?/p>