锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲日本va午夜中文字幕一区,久久精品国产亚洲av麻豆图片 ,全亚洲最新黄色特级网站http://www.tkk7.com/zhangrenquan/category/13499.htmlzh-cnWed, 28 Feb 2007 05:09:23 GMTWed, 28 Feb 2007 05:09:23 GMT60java鎿嶄綔xml鎽樺綍(dom)http://www.tkk7.com/zhangrenquan/articles/60384.htmlkelvenkelvenThu, 27 Jul 2006 09:06:00 GMThttp://www.tkk7.com/zhangrenquan/articles/60384.htmlhttp://www.tkk7.com/zhangrenquan/comments/60384.htmlhttp://www.tkk7.com/zhangrenquan/articles/60384.html#Feedback0http://www.tkk7.com/zhangrenquan/comments/commentRss/60384.htmlhttp://www.tkk7.com/zhangrenquan/services/trackbacks/60384.html
涓嬮潰鎴戜滑鏉ョ湅涓涓畝鍗曠殑渚嬪瓙錛岀湅鐪嬪湪DOM涓紝鎴戜滑鏄浣曟潵鎿嶄綔涓涓猉ML鏂囨。鐨勩?

榪欐槸涓涓猉ML鏂囨。錛屼篃鏄垜浠鎿嶄綔鐨勫璞★細(xì)



Good-bye serialization, hello Java!
BR>
涓嬮潰錛屾垜浠渶瑕佹妸榪欎釜鏂囨。鐨勫唴瀹硅В鏋愬埌涓涓釜鐨凧ava瀵硅薄涓幓渚涚▼搴忎嬌鐢紝鍒╃敤JAXP錛屾垜浠彧闇鍑犺浠g爜灝辮兘鍋氬埌榪欎竴鐐廣傞鍏堬紝鎴戜滑闇瑕佸緩绔嬩竴涓В鏋愬櫒宸ュ巶錛屼互鍒╃敤榪欎釜宸ュ巶鏉ヨ幏寰椾竴涓叿浣撶殑瑙f瀽鍣ㄥ璞★細(xì)

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();

鎴戜滑鍦ㄨ繖閲屼嬌鐢―ocumentBuilderFacotry鐨勭洰鐨勬槸涓轟簡鍒涘緩涓庡叿浣撹В鏋愬櫒鏃犲叧鐨勭▼搴忥紝褰揇ocumentBuilderFactory綾葷殑闈欐佹柟娉昻ewInstance()琚皟鐢ㄦ椂錛屽畠鏍規(guī)嵁涓涓郴緇熷彉閲忔潵鍐沖畾鍏蜂綋浣跨敤鍝竴涓В鏋愬櫒銆傚張鍥犱負(fù)鎵鏈夌殑瑙f瀽鍣ㄩ兘鏈嶄粠浜嶫AXP鎵瀹氫箟鐨勬帴鍙o紝鎵浠ユ棤璁哄叿浣撲嬌鐢ㄥ摢涓涓В鏋愬櫒錛屼唬鐮侀兘鏄竴鏍風(fēng)殑銆傛墍浠ュ綋鍦ㄤ笉鍚岀殑瑙f瀽鍣ㄤ箣闂磋繘琛屽垏鎹㈡椂錛屽彧闇瑕佹洿鏀圭郴緇熷彉閲忕殑鍊鹼紝鑰屼笉鐢ㄦ洿鏀逛換浣曚唬鐮併傝繖灝辨槸宸ュ巶鎵甯︽潵鐨勫ソ澶勩傝繖涓伐鍘傛ā寮忕殑鍏蜂綋瀹炵幇錛屽彲浠ュ弬鐪嬩笅闈㈢殑綾誨浘銆?

DocumentBuilder db = dbf.newDocumentBuilder();

褰撹幏寰椾竴涓伐鍘傚璞″悗錛屼嬌鐢ㄥ畠鐨勯潤鎬佹柟娉昻ewDocumentBuilder()鏂規(guī)硶鍙互鑾峰緱涓涓狣ocumentBuilder瀵硅薄錛岃繖涓璞′唬琛ㄤ簡鍏蜂綋鐨凞OM瑙f瀽鍣ㄣ備絾鍏蜂綋鏄摢涓縐嶈В鏋愬櫒錛屽井杞殑鎴栬匢BM鐨勶紝瀵逛簬紼嬪簭鑰岃█騫朵笉閲嶈銆?

鐒跺悗錛屾垜浠氨鍙互鍒╃敤榪欎釜瑙f瀽鍣ㄦ潵瀵筙ML鏂囨。榪涜瑙f瀽浜嗭細(xì)

Document doc = db.parse("c:/xml/message.xml");

DocumentBuilder鐨刾arse()鏂規(guī)硶鎺ュ彈涓涓猉ML鏂囨。鍚嶄綔涓鴻緭鍏ュ弬鏁幫紝榪斿洖涓涓狣ocument瀵硅薄錛岃繖涓狣ocument瀵硅薄灝變唬琛ㄤ簡涓涓猉ML鏂囨。鐨勬爲(wèi)妯″瀷銆備互鍚庢墍鏈夌殑瀵筙ML鏂囨。鐨勬搷浣滐紝閮戒笌瑙f瀽鍣ㄦ棤鍏籌紝鐩存帴鍦ㄨ繖涓狣ocument瀵硅薄涓婅繘琛屾搷浣滃氨鍙互浜嗐傝屽叿浣撳Document鎿嶄綔鐨勬柟娉曪紝灝辨槸鐢盌OM鎵瀹氫箟鐨勪簡銆?

Jaxp鏀寔W3C鎵鎺ㄨ崘鐨凞OM 2銆傚鏋滀綘瀵笵OM寰堢啛鎮(zhèn)夛紝閭d箞涓嬮潰鐨勫唴瀹瑰氨寰堢畝鍗曚簡錛氬彧闇瑕佹寜鐓OM鐨勮鑼冩潵榪涜鏂規(guī)硶璋冪敤灝卞彲浠ャ傚綋鐒?dòng)灱屽鏋滀綘瀵笵OM涓嶆竻妤氾紝涔熶笉鐢ㄧ潃鎬ワ紝鍚庨潰鎴戜滑浼?xì)鏈夎缁嗙殑浠嬀l嶃傚湪榪欏効錛屼綘鎵瑕佺煡閬撳茍鐗㈣鐨勬槸錛欴OM鏄敤鏉ユ弿鍙橷ML鏂囨。涓殑鏁版嵁鐨勬ā鍨嬶紝寮曞叆DOM鐨勫叏閮ㄥ師鍥犲氨鏄負(fù)浜嗙敤榪欎釜妯″瀷鏉ユ搷浣淴ML鏂囨。鐨勪腑鐨勬暟鎹侱OM瑙勮寖涓畾涔夋湁鑺傜偣錛堝嵆瀵硅薄錛夈佸睘鎬у拰鏂規(guī)硶錛屾垜浠氳繃榪欎簺鑺傜偣鐨勫瓨鍙栨潵瀛樺彇XML鐨勬暟鎹?

浠庝笂闈㈠緱鍒扮殑Document瀵硅薄寮濮嬶紝鎴戜滑灝卞彲浠ュ紑濮嬫垜浠殑DOM涔嬫梾浜嗐備嬌鐢―ocument瀵硅薄鐨刧etElementsByTagName()鏂規(guī)硶錛屾垜浠彲浠ュ緱鍒頒竴涓狽odeList瀵硅薄錛屼竴涓狽ode瀵硅薄浠h〃浜嗕竴涓猉ML鏂囨。涓殑涓涓爣絳懼厓绱狅紝鑰孨odeList瀵硅薄錛岃鍏跺悕鑰岀煡鍏舵剰錛屾墍浠h〃鐨勬槸涓涓狽ode瀵硅薄鐨勫垪琛細(xì)

NodeList nl = doc.getElementsByTagName("message");

鎴戜滑閫氳繃榪欐牱涓鏉¤鍙ユ墍寰楀埌鐨勬槸XML鏂囨。涓墍鏈?message />鏍囩瀵瑰簲鐨凬ode瀵硅薄鐨勪竴涓垪琛ㄣ傜劧鍚庯紝鎴戜滑鍙互浣跨敤NodeList瀵硅薄鐨刬tem()鏂規(guī)硶鏉ュ緱鍒板垪琛ㄤ腑鐨勬瘡涓涓狽ode瀵硅薄錛?

Node my_node = nl.item(0);

褰撲竴涓狽ode瀵硅薄琚緩绔嬩箣鍚庯紝淇濆瓨鍦╔ML鏂囨。涓殑鏁版嵁灝辮鎻愬彇鍑烘潵騫跺皝瑁呭湪榪欎釜Node涓簡銆傚湪榪欎釜渚嬪瓙涓紝瑕佹彁鍙朚essage鏍囩鍐呯殑鍐呭錛屾垜浠氬父浼?xì)鋴社敤Node瀵硅薄鐨刧etNodeValue()鏂規(guī)硶錛?

String message = my_node.getFirstChild().getNodeValue();

璇鋒敞鎰忥紝榪欓噷榪樹嬌鐢ㄤ簡涓涓猤etFirstChild()鏂規(guī)硶鏉ヨ幏寰梞essage涓嬮潰鐨勭涓涓瓙Node瀵硅薄銆傝櫧鐒跺湪message鏍囩涓嬮潰闄や簡鏂囨湰澶栧茍娌℃湁鍏跺畠瀛愭爣絳炬垨鑰呭睘鎬э紝浣嗘槸鎴戜滑鍧氭寔鍦ㄨ繖閲屼嬌鐢╣etFirseChild()鏂規(guī)硶錛岃繖涓昏鍜學(xué)3C瀵笵OM鐨勫畾涔夋湁鍏熾俉3C鎶婃爣絳懼唴鐨勬枃鏈儴鍒嗕篃瀹氫箟鎴愪竴涓狽ode錛屾墍浠ュ厛瑕佸緱鍒頒唬琛ㄦ枃鏈殑閭d釜Node錛屾垜浠墠鑳藉浣跨敤getNodeValue()鏉ヨ幏鍙栨枃鏈殑鍐呭銆?

鐜板湪錛屾棦鐒舵垜浠凡緇忚兘澶熶粠XML鏂囦歡涓彁鍙栧嚭鏁版嵁浜嗭紝鎴戜滑灝卞彲浠ユ妸榪欎簺鏁版嵁鐢ㄥ湪鍚堥傜殑鍦版柟錛屾潵鏋勭瓚搴旂敤紼嬪簭銆?

涓嬮潰鐨勫唴瀹癸紝鎴戜滑灝嗘洿澶氱殑鍏蟲敞DOM錛屼負(fù)DOM浣滀竴涓緝涓鴻緇嗙殑瑙f瀽錛屼嬌鎴戜滑浣跨敤璧鋒潵鏇翠負(fù)寰楀績搴旀墜銆?

1錛庡熀鏈殑DOM瀵硅薄

DOM鐨勫熀鏈璞℃湁5涓細(xì)Document錛孨ode錛孨odeList錛孍lement鍜孉ttr銆備笅闈㈠氨榪欎簺瀵硅薄鐨勫姛鑳藉拰瀹炵幇鐨勬柟娉曚綔涓涓ぇ鑷寸殑浠嬬粛銆?

Document瀵硅薄浠h〃浜嗘暣涓猉ML鐨勬枃妗o紝鎵鏈夊叾瀹冪殑Node錛岄兘浠ヤ竴瀹氱殑欏哄簭鍖呭惈鍦―ocument瀵硅薄涔嬪唴錛屾帓鍒楁垚涓涓爲(wèi)褰㈢殑緇撴瀯錛岀▼搴忓憳鍙互閫氳繃閬嶅巻榪欓鏍?wèi)鏉ュ緱鍒癤ML鏂囨。鐨勬墍鏈夌殑鍐呭錛岃繖涔熸槸瀵筙ML鏂囨。鎿嶄綔鐨勮搗鐐廣傛垜浠繪槸鍏堥氳繃瑙f瀽XML婧愭枃浠惰屽緱鍒頒竴涓狣ocument瀵硅薄錛岀劧鍚庡啀鏉ユ墽琛屽悗緇殑鎿嶄綔銆傛澶栵紝Document榪樺寘鍚簡鍒涘緩鍏跺畠鑺傜偣鐨勬柟娉曪紝姣斿createAttribut()鐢ㄦ潵鍒涘緩涓涓狝ttr瀵硅薄銆傚畠鎵鍖呭惈鐨勪富瑕佺殑鏂規(guī)硶鏈夛細(xì)

createAttribute(String)錛氱敤緇欏畾鐨勫睘鎬у悕鍒涘緩涓涓狝ttr瀵硅薄錛屽茍鍙湪鍏跺悗浣跨敤setAttributeNode鏂規(guī)硶鏉ユ斁緗湪鏌愪竴涓狤lement瀵硅薄涓婇潰銆?

createElement(String)錛氱敤緇欏畾鐨勬爣絳懼悕鍒涘緩涓涓狤lement瀵硅薄錛屼唬琛╔ML鏂囨。涓殑涓涓爣絳撅紝鐒跺悗灝卞彲浠ュ湪榪欎釜Element瀵硅薄涓婃坊鍔犲睘鎬ф垨榪涜鍏跺畠鐨勬搷浣溿?

createTextNode(String)錛氱敤緇欏畾鐨勫瓧絎︿覆鍒涘緩涓涓猅ext瀵硅薄錛孴ext瀵硅薄浠h〃浜嗘爣絳炬垨鑰呭睘鎬т腑鎵鍖呭惈鐨勭函鏂囨湰瀛楃涓層傚鏋滃湪涓涓爣絳懼唴娌℃湁鍏跺畠鐨勬爣絳撅紝閭d箞鏍囩鍐呯殑鏂囨湰鎵浠h〃鐨凾ext瀵硅薄鏄繖涓狤lement瀵硅薄鐨勫敮涓瀛愬璞°?

getElementsByTagName(String)錛氳繑鍥炰竴涓狽odeList瀵硅薄錛屽畠鍖呭惈浜嗘墍鏈夌粰瀹氭爣絳懼悕瀛楃殑鏍囩銆?

getDocumentElement()錛氳繑鍥炰竴涓唬琛ㄨ繖涓狣OM鏍?wèi)鐨勬牴鑺傜偣鐨凟lement瀵硅薄錛屼篃灝辨槸浠h〃XML鏂囨。鏍瑰厓绱犵殑閭d釜瀵硅薄銆?

Node瀵硅薄鏄疍OM緇撴瀯涓渶涓哄熀鏈殑瀵硅薄錛屼唬琛ㄤ簡鏂囨。鏍?wèi)涓殑涓涓娊璞$殑鑺傜偣銆傚湪瀹為檯浣跨敤鐨勬椂鍊欙紝寰堝皯浼?xì)鐪熸鐨勭敤鍒癗ode榪欎釜瀵硅薄錛岃屾槸鐢ㄥ埌璇稿Element銆丄ttr銆乀ext絳塏ode瀵硅薄鐨勫瓙瀵硅薄鏉ユ搷浣滄枃妗c侼ode瀵硅薄涓鴻繖浜涘璞℃彁渚涗簡涓涓娊璞$殑銆佸叕鍏辯殑鏍廣傝櫧鐒跺湪Node瀵硅薄涓畾涔変簡瀵瑰叾瀛愯妭鐐硅繘琛屽瓨鍙栫殑鏂規(guī)硶錛屼絾鏄湁涓浜汵ode瀛愬璞★紝姣斿Text瀵硅薄錛屽畠騫朵笉瀛樺湪瀛愯妭鐐癸紝榪欎竴鐐規(guī)槸瑕佹敞鎰忕殑銆侼ode瀵硅薄鎵鍖呭惈鐨勪富瑕佺殑鏂規(guī)硶鏈夛細(xì)

appendChild(org.w3c.dom.Node)錛氫負(fù)榪欎釜鑺傜偣娣誨姞涓涓瓙鑺傜偣錛屽茍鏀懼湪鎵鏈夊瓙鑺傜偣鐨勬渶鍚庯紝濡傛灉榪欎釜瀛愯妭鐐瑰凡緇忓瓨鍦紝鍒欏厛鎶婂畠鍒犳帀鍐嶆坊鍔犺繘鍘匯?

getFirstChild()錛氬鏋滆妭鐐瑰瓨鍦ㄥ瓙鑺傜偣錛屽垯榪斿洖絎竴涓瓙鑺傜偣錛屽絳夌殑錛岃繕鏈塯etLastChild()鏂規(guī)硶榪斿洖鏈鍚庝竴涓瓙鑺傜偣銆?

getNextSibling()錛氳繑鍥炲湪DOM鏍?wèi)涓瓨q欎釜鑺傜偣鐨勪笅涓涓厔寮熻妭鐐癸紝瀵圭瓑鐨勶紝榪樻湁getPreviousSibling()鏂規(guī)硶榪斿洖鍏跺墠涓涓厔寮熻妭鐐廣?

getNodeName()錛氭牴鎹妭鐐圭殑綾誨瀷榪斿洖鑺傜偣鐨勫悕縐般?

getNodeType()錛氳繑鍥炶妭鐐圭殑綾誨瀷銆?

getNodeValue()錛氳繑鍥炶妭鐐圭殑鍊箋?

hasChildNodes()錛氬垽鏂槸涓嶆槸瀛樺湪鏈夊瓙鑺傜偣銆?

hasAttributes()錛氬垽鏂繖涓妭鐐規(guī)槸鍚﹀瓨鍦ㄦ湁灞炴с?

getOwnerDocument()錛氳繑鍥炶妭鐐規(guī)墍澶勭殑Document瀵硅薄銆?

insertBefore(org.w3c.dom.Node new錛宱rg.w3c.dom.Node ref)錛氬湪緇欏畾鐨勪竴涓瓙瀵硅薄鍓嶅啀鎻掑叆涓涓瓙瀵硅薄銆?

removeChild(org.w3c.dom.Node)錛氬垹闄ょ粰瀹氱殑瀛愯妭鐐瑰璞°?

replaceChild(org.w3c.dom.Node new錛宱rg.w3c.dom.Node old)錛氱敤涓涓柊鐨凬ode瀵硅薄浠f浛緇欏畾鐨勫瓙鑺傜偣瀵硅薄銆?

NodeList瀵硅薄錛岄【鍚嶆濅箟錛屽氨鏄唬琛ㄤ簡涓涓寘鍚簡涓涓垨鑰呭涓狽ode鐨勫垪琛ㄣ傚彲浠ョ畝鍗曠殑鎶婂畠鐪嬫垚涓涓狽ode鐨勬暟緇勶紝鎴戜滑鍙互閫氳繃鏂規(guī)硶鏉ヨ幏寰楀垪琛ㄤ腑鐨勫厓绱狅細(xì)

GetLength()錛氳繑鍥炲垪琛ㄧ殑闀垮害銆?

Item(int)錛氳繑鍥炴寚瀹氫綅緗殑Node瀵硅薄銆?

Element瀵硅薄浠h〃鐨勬槸XML鏂囨。涓殑鏍囩鍏冪礌錛岀戶鎵夸簬Node錛屼害鏄疦ode鐨勬渶涓昏鐨勫瓙瀵硅薄銆傚湪鏍囩涓彲浠ュ寘鍚湁灞炴э紝鍥犺孍lement瀵硅薄涓湁瀛樺彇鍏跺睘鎬х殑鏂規(guī)硶錛岃屼換浣昇ode涓畾涔夌殑鏂規(guī)硶錛屼篃鍙互鐢ㄥ湪Element瀵硅薄涓婇潰銆?

getElementsByTagName(String)錛氳繑鍥炰竴涓狽odeList瀵硅薄錛屽畠鍖呭惈浜嗗湪榪欎釜鏍囩涓叾涓嬬殑瀛愬瓩鑺傜偣涓叿鏈夌粰瀹氭爣絳懼悕瀛楃殑鏍囩銆?

getTagName()錛氳繑鍥炰竴涓唬琛ㄨ繖涓爣絳懼悕瀛楃殑瀛楃涓層?

getAttribute(String)錛氳繑鍥炴爣絳句腑緇欏畾灞炴у悕縐扮殑灞炴х殑鍊箋傚湪榪欏効闇瑕佷富瑕佺殑鏄紝搴斾負(fù)XML鏂囨。涓厑璁告湁瀹炰綋灞炴у嚭鐜幫紝鑰岃繖涓柟娉曞榪欎簺瀹炰綋灞炴у茍涓嶉傜敤銆傝繖鏃跺欓渶瑕佺敤鍒癵etAttributeNodes()鏂規(guī)硶鏉ュ緱鍒頒竴涓狝ttr瀵硅薄鏉ヨ繘琛岃繘涓姝ョ殑鎿嶄綔銆?

getAttributeNode(String)錛氳繑鍥炰竴涓唬琛ㄧ粰瀹氬睘鎬у悕縐扮殑Attr瀵硅薄銆?

Attr瀵硅薄浠h〃浜嗘煇涓爣絳句腑鐨勫睘鎬с侫ttr緇ф壙浜嶯ode錛屼絾鏄洜涓篈ttr瀹為檯涓婃槸鍖呭惈鍦‥lement涓殑錛屽畠騫朵笉鑳借鐪嬩綔鏄疎lement鐨勫瓙瀵硅薄錛屽洜鑰屽湪DOM涓瑼ttr騫朵笉鏄疍OM鏍?wèi)鐨勪竴閮ㄥ垎錛屾墍浠ode涓殑getparentNode()錛実etpreviousSibling()鍜実etnextSibling()榪斿洖鐨勯兘灝嗘槸null銆備篃灝辨槸璇達(dá)紝Attr鍏跺疄鏄鐪嬩綔鍖呭惈瀹冪殑Element瀵硅薄鐨勪竴閮ㄥ垎錛屽畠騫朵笉浣滀負(fù)DOM鏍?wèi)涓崟鐙殑涓涓妭鐐瑰嚭鐜般傝繖涓鐐瑰湪浣跨敤鐨勬椂鍊欒鍚屽叾瀹冪殑Node瀛愬璞$浉鍖哄埆銆?

闇瑕佽鏄庣殑鏄紝涓婇潰鎵璇寸殑DOM瀵硅薄鍦―OM涓兘鏄敤鎺ュ彛瀹氫箟鐨勶紝鍦ㄥ畾涔夌殑鏃跺欎嬌鐢ㄧ殑鏄笌鍏蜂綋璇█鏃犲叧鐨処DL璇█鏉ュ畾涔夌殑銆傚洜鑰岋紝DOM鍏跺疄鍙互鍦ㄤ換浣曢潰鍚戝璞$殑璇█涓疄鐜幫紝鍙瀹冨疄鐜頒簡DOM鎵瀹氫箟鐨勬帴鍙e拰鍔熻兘灝卞彲浠ヤ簡銆傚悓鏃訛紝鏈変簺鏂規(guī)硶鍦―OM涓茍娌℃湁瀹氫箟錛屾槸鐢↖DL鐨勫睘鎬ф潵琛ㄨ揪鐨勶紝褰撹鏄犲皠鍒板叿浣撶殑璇█鏃訛紝榪欎簺灞炴ц鏄犲皠涓虹浉搴旂殑鏂規(guī)硶銆?

路 2錛嶥OM瀹炰緥

鏈変簡涓婇潰鐨勪粙緇嶏紝鐩鎬俊浣犲DOM鐞嗚В鐨勬洿澶氫簡鍚с備笅闈㈢殑渚嬪瓙灝嗚浣犲DOM鏇村姞鐔熸?zhèn)夎典h潵銆?

鍏堣璇磋繖涓緥瀛愬埌搴曡鍋氱殑鏄粈涔堝惂錛屾垜浠笇鏈涘湪涓涓悕涓簂ink.xml鏂囦歡涓繚瀛樹簡涓浜沀RL鍦板潃錛岄氳繃涓涓畝鍗曠殑紼嬪簭錛屾垜浠彲浠ラ氳繃DOM鎶婅繖浜沀RL璇誨嚭騫舵樉紺哄嚭鏉ワ紝涔熷彲浠ュ弽榪囨潵鍚戣繖涓猉ML鏂囦歡涓啓鍏ュ姞鍏ョ殑URL鍦板潃銆傚緢綆鍗曪紝鍗村緢瀹炵敤錛屼篃瓚沖鏉ヤ緥紺篋OM鐨勭粷澶ч儴鍒嗙敤娉曚簡銆?

XML鏂囦歡鏈韓涓嶅鏉傦紝灝變笉緇欏嚭瀹冪殑DTD浜嗐俵ink.xml:



<pre>
<?xml version="1.0" standalone="yes"?>
<links>
<link>
<text>JSP Insider</text>
<url newWindow="no"> ;http://www.jspinsider.com< ;/url>
<author>JSP Insider</author>
<date>
<day>2</day>
<month>1</month>
<year>2001</year>
</date>
<description>A JSP information site.</description>
</link>
<link>
<text>The makers of Java</text>
<url newWindow="no"> ;http://java.sun.com< ;/url>
<author>Sun Microsystems</author>
<date>
<day>3</day>
<month>1</month>
<year>2001</year>
</date>
<description>Sun Microsystem麓s website.</description>
</link>
<link>
<text>The standard JSP container</text>
<url newWindow="no"> ;http://jakarta.apache.org< ;/url>
<author>Apache Group</author>
<date>
<day>4</day>
<month>1</month>
<year>2001</year>
</date>
<description>Some great software.</description>
</link>
</links>
BR></pre>
絎竴涓▼搴忔垜浠О涓簒mldisplay.java錛屽叿浣撶殑紼嬪簭娓呭崟鍙互鍦ㄩ檮浠朵腑鎵懼埌銆備富瑕佺殑鍔熻兘灝辨槸璇誨彇榪欎釜XML鏂囦歡涓悇涓妭鐐圭殑鍐呭錛岀劧鍚庡湪鏍煎紡鍖栬緭鍑哄湪System.out涓婏紝鎴戜滑鏉ョ湅鐪嬭繖涓▼搴忥細(xì)
import javax.xml.parsers.*;
import org.w3c.dom.*;

榪欐槸寮曞叆蹇呰鐨勭被錛屽洜涓哄湪榪欓噷浣跨敤鐨勬槸Sun鎵鎻愪緵鐨刋ML瑙f瀽鍣紝鍥犺岄渶瑕佸紩鍏ava.xml.parsers鍖咃紝鍏朵腑鍖呭惈浜嗘湁DOM瑙f瀽鍣ㄥ拰SAX瑙f瀽鍣ㄧ殑鍏蜂綋瀹炵幇銆俹rg.w3c.dom鍖呬腑瀹氫箟浜唚3c鎵鍒跺畾鐨凞OM鎺ュ彛銆?

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder=factory.newDocumentBuilder();
Document doc=builder.parse("links.xml");
doc.normalize();

闄や簡涓婇潰璁插埌鐨勶紝榪樻湁涓涓皬鎶宸э紝瀵笵ocument瀵硅薄璋冪敤normalize()錛屽彲浠ュ幓鎺塜ML鏂囨。涓綔涓烘牸寮忓寲鍐呭鐨勭┖鐧借屾槧灝勫湪DOM鏍?wèi)涓殑涓嶅繀瑕佺殑Text Node瀵硅薄銆傚惁鍒欎綘寰楀埌鐨凞OM鏍?wèi)鍙兘迤堜笉濡備綘鎵鎯寵薄鐨勯偅鏍楓傜壒鍒槸鍦ㄨ緭鍑虹殑鏃跺欙紝榪欎釜normalize()鏇翠負(fù)鏈夌敤銆?

NodeList links =doc.getElementsByTagName("link");

鍒氭墠璇磋繃錛孹ML鏂囨。涓殑絀虹櫧絎︿篃浼?xì)琚綔湄?fù)瀵硅薄鏄犲皠鍦―OM鏍?wèi)涓傚洜鑰岋紝鐩存帴璋冪敤Node鏂規(guī)硶鐨刧etChildNodes鏂規(guī)硶鏈夋椂鍊欎細(xì)鏈変簺闂錛屾湁鏃朵笉鑳藉榪斿洖鎵鏈熸湜鐨凬odeList瀵硅薄銆傝В鍐崇殑鍔炴硶鏄嬌鐢‥lement鐨刧etElementByTagName(String)錛岃繑鍥炵殑NodeLise灝辨槸鎵鏈熷緟鐨勫璞′簡銆傜劧鍚庯紝鍙互鐢╥tem()鏂規(guī)硶鎻愬彇鎯寵鐨勫厓绱犮?

for (int i=0;i
Element link=(Element) links.item(i);
System.out.print("Content: ");
System.out.println(link.getElementsByTagName("text").item(0).getFirstChild().getNodeValue());
System.out.print("URL: ");
System.out.println(link.getElementsByTagName("url").item(0).getFirstChild().getNodeValue());

System.out.print("Author: ");
System.out.println(link.getElementsByTagName("author").item(0).getFirstChild().getNodeValue());
System.out.print("Date: ");
Element linkdate=(Element) link.getElementsByTagName("date").item(0);
String day=linkdate.getElementsByTagName("day").item(0).getFirstChild().getNodeValue();
String month=linkdate.getElementsByTagName("month").item(0).getFirstChild().getNodeValue();
String year=linkdate.getElementsByTagName("year").item(0).getFirstChild().getNodeValue();
System.out.println(day+"-"+month+"-"+year);
System.out.print("Description: ");
System.out.println(link.getElementsByTagName("description").item(0).getFirstChild().getNodeValue());
System.out.println();
}

涓婇潰鐨勪唬鐮佺墖鏂氨瀹屾垚浜嗗XML鏂囨。鍐呭鐨勬牸寮忓寲杈撳嚭銆傚彧瑕佹敞鎰忓埌涓浜涚粏鑺傜殑闂錛屾瘮濡俫etFirstChile()鏂規(guī)硶鍜実etElementsByTagName()鏂規(guī)硶鐨勪嬌鐢紝榪欎簺榪樻槸姣旇緝瀹規(guī)槗鐨勩?

涓嬮潰鐨勫唴瀹癸紝灝辨槸鍦ㄤ慨鏀逛簡DOM鏍?wèi)鍚庨噸鏂板啓鍏ュ埌XML鏂囨。涓幓鐨勯棶棰樹簡銆傝繖涓▼搴忓悕涓簒mlwrite.java銆傚湪JAXP1.0鐗堟湰涓紝騫舵病鏈夌洿鎺ョ殑綾誨拰鏂規(guī)硶鑳藉澶勭悊XML鏂囨。鐨勫啓鍏ラ棶棰橈紝闇瑕佸熷姪鍏跺畠鍖呬腑鐨勪竴浜涜緟鍔╃被銆傝屽湪JAXP1.1鐗堟湰涓紝寮曞叆浜嗗XSLT鐨勬敮鎸侊紝鎵璋揦SLT錛屽氨鏄XML鏂囨。榪涜鍙樻崲錛圱ranslation錛夊悗錛屽緱鍒頒竴涓柊鐨勬枃妗g粨鏋勩傚埄鐢ㄨ繖涓柊鍔犲叆鐨勫姛鑳斤紝鎴戜滑灝辮兘澶熷緢鏂逛究鐨勬妸鏂扮敓鎴愭垨鑰呬慨鏀瑰悗鐨凞OM鏍?wèi)浠庢柊鍐欏洖鍒癤ML鏂囦歡涓幓浜嗭紝涓嬮潰鎴戜滑鏉ョ湅鐪嬩唬鐮佺殑瀹炵幇錛岃繖孌典唬鐮佺殑涓昏鍔熻兘鏄悜links.xml鏂囦歡涓姞鍏ヤ竴涓柊鐨刲ink鑺傜偣錛?

import javax.xml.parsers.*;
import javax.xml.transform.*;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.*;

鏂板紩鍏ョ殑java.xml.transform鍖呬腑鐨勫嚑涓被錛屽氨鏄敤鏉ュ鐞哫SLT鍙樻崲鐨勩?

鎴戜滑甯屾湜鍦ㄤ笂闈㈢殑XML鏂囦歡涓姞鍏ヤ竴涓柊鐨刲ink鑺傜偣錛屽洜鑰岄鍏堣繕鏄璇誨叆links.xml鏂囦歡錛屾瀯寤轟竴涓狣OM鏍?wèi)锛岀劧鍚庡啀瀵箻q欎釜DOM鏍?wèi)杩涜淇敼锛堟氛d姞鑺傜偣錛夛紝鏈鍚庢妸淇敼鍚庣殑DOM鍐欏洖鍒發(fā)inks.xml鏂囦歡涓細(xì)

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder=factory.newDocumentBuilder();
Document doc=builder.parse("links.xml");
doc.normalize();
//---鍙栧緱鍙橀噺----
String text="Hanzhong麓s Homepage";
String url="www.hzliu.com";
String author="Hzliu Liu";
String discription="A site from Hanzhong Liu, give u lots of suprise!!!";

涓轟簡鐪嬫竻閲嶇偣錛岀畝鍖栫▼搴忥紝鎴戜滑鎶婅鍔犲叆鐨勫唴瀹圭‖緙栫爜鍒拌蹇哠tring瀵硅薄涓紝鑰屽疄闄呮搷浣滀腑錛屽線寰鍒╃敤涓涓晫闈㈡潵鎻愬彇鐢ㄦ埛杈撳叆錛屾垨鑰呴氳繃JDBC浠庢暟鎹簱涓彁鍙栨兂瑕佺殑鍐呭銆?

Text textseg;
Element link=doc.createElement("link");

棣栧厛搴旇鏄庝簡鐨勬槸錛屾棤璁轟粈涔堢被鍨嬬殑Node錛孴ext鍨嬬殑涔熷ソ錛孉ttr鍨嬬殑涔熷ソ錛孍lement鍨嬬殑涔熷ソ錛屽畠浠殑鍒涘緩閮芥槸閫氳繃Document瀵硅薄涓殑createXXX()鏂規(guī)硶鏉ュ垱寤虹殑錛圶XX浠h〃鍏蜂綋瑕佸垱寤虹殑綾誨瀷錛夛紝鍥犳錛屾垜浠鍚慩ML鏂囨。涓坊鍔犱竴涓猯ink欏圭洰錛岄鍏堣鍒涘緩涓涓猯ink瀵硅薄錛?

Element linktext=doc.createElement("text");
textseg=doc.createTextNode(text);
linktext.appendChild(textseg);
link.appendChild(linktext);
Element linkurl=doc.createElement("url");
textseg=doc.createTextNode(url);
linkurl.appendChild(textseg);
link.appendChild(linkurl);
Element linkauthor=doc.createElement("author");
textseg=doc.createTextNode(author);
linkauthor.appendChild(textseg);
link.appendChild(linkauthor);
java.util.Calendar rightNow = java.util.Calendar.getInstance();
String day=Integer.toString(rightNow.get(java.util.Calendar.DAY_OF_MONTH));
String month=Integer.toString(rightNow.get(java.util.Calendar.MONTH));

String year=Integer.toString(rightNow.get(java.util.Calendar.YEAR));
Element linkdate=doc.createElement("date");
Element linkdateday=doc.createElement("day");
textseg=doc.createTextNode(day);
linkdateday.appendChild(textseg);
Element linkdatemonth=doc.createElement("month");
textseg=doc.createTextNode(month);
linkdatemonth.appendChild(textseg);
Element linkdateyear=doc.createElement("year");
textseg=doc.createTextNode(year);
linkdateyear.appendChild(textseg);
linkdate.appendChild(linkdateday);
linkdate.appendChild(linkdatemonth);
linkdate.appendChild(linkdateyear);
link.appendChild(linkdate);
Element linkdiscription=doc.createElement("description");
textseg=doc.createTextNode(discription);
linkdiscription.appendChild(textseg);
link.appendChild(linkdiscription);

鍒涘緩鑺傜偣鐨勮繃紼嬪彲鑳芥湁浜涘崈綃囦竴寰嬶紝浣嗛渶瑕佹敞鎰忕殑鍦版柟鏄紝瀵笶lement涓墍鍖呭惈鐨則ext錛堝湪DOM涓紝榪欎簺text涔熸槸浠h〃浜嗕竴涓狽ode鐨勶紝鍥犳涔熷繀欏諱負(fù)瀹冧滑鍒涘緩鐩稿簲鐨刵ode錛夛紝涓嶈兘鐩存帴鐢‥lement瀵硅薄鐨剆etNodeValue()鏂規(guī)硶鏉ヨ緗繖浜泃ext鐨勫唴瀹癸紝鑰岄渶瑕佺敤鍒涘緩鐨凾ext瀵硅薄鐨剆etNodeValue()鏂規(guī)硶鏉ヨ緗枃鏈紝榪欐牱鎵嶈兘澶熸妸鍒涘緩鐨凟lement鍜屽叾鏂囨湰鍐呭娣誨姞鍒癉OM鏍?wèi)涓傜湅鐪嬪墠闈㈢殑浠g爜錛屼綘浼?xì)鏇村ソ鐨勭悊瑙q欎竴鐐癸細(xì)

doc.getDocumentElement().appendChild(link);

鏈鍚庯紝涓嶈蹇樿鎶婂垱寤哄ソ鐨勮妭鐐規(guī)坊鍔犲埌DOM鏍?wèi)涓侱ocument綾葷殑getDocumentElement()鏂規(guī)硶錛岃繑鍥炰唬琛ㄦ枃妗f牴鑺傜偣鐨凟lement瀵硅薄銆傚湪XML鏂囨。涓紝鏍硅妭鐐逛竴瀹氭槸鍞竴鐨勩?

TransformerFactory tFactory =TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer();
DOMSource source = new DOMSource(doc);
StreamResult result = new StreamResult(new java.io.File("links.xml"));
transformer.transform(source, result);

鐒跺悗灝辨槸鐢╔SLT鎶奃OM鏍?wèi)杈撳囖Z簡銆傝繖閲岀殑TransformerFactory涔熷悓鏍峰簲鐢ㄤ簡宸ュ巶妯″紡錛屼嬌寰楀叿浣撶殑浠g爜鍚屽叿浣撶殑鍙樻崲鍣ㄦ棤鍏熾傚疄鐜扮殑鏂規(guī)硶鍜孌ocumentBuilderFactory鐩稿悓錛岃繖鍎垮氨涓嶈禈榪頒簡銆俆ransformer綾葷殑transfrom鏂規(guī)硶鎺ュ彈涓や釜鍙傛暟銆佷竴涓暟鎹簮Source鍜屼竴涓緭鍑虹洰鏍嘡esult銆傝繖閲屽垎鍒嬌鐢ㄧ殑鏄疍OMSource鍜孲treamResult錛岃繖鏍峰氨鑳藉鎶奃OM鐨勫唴瀹硅緭鍑哄埌涓涓緭鍑烘祦涓紝褰撹繖涓緭鍑烘祦鏄竴涓枃浠剁殑鏃跺欙紝DOM鐨勫唴瀹瑰氨琚啓鍏ュ埌鏂囦歡涓幓浜嗐?br />



kelven 2006-07-27 17:06 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 精品无码国产污污污免费网站 | 1000部啪啪未满十八勿入免费| 亚洲国产日韩一区高清在线| 99久久精品日本一区二区免费| 亚洲a∨无码精品色午夜| 亚洲午夜久久久影院| 最近2019免费中文字幕视频三| 亚洲精品无码aⅴ中文字幕蜜桃| 国产av无码专区亚洲国产精品| 在线成人爽a毛片免费软件| 亚洲av无码一区二区三区人妖 | 天堂亚洲国产中文在线| 亚洲av中文无码| 6080午夜一级毛片免费看6080夜福利| 亚洲男人的天堂网站| 国产AV无码专区亚洲AV手机麻豆| 69式互添免费视频| 国产久爱免费精品视频 | 亚洲伊人色一综合网| 亚洲一区二区三区乱码A| 久草视频在线免费| 三级黄色在线免费观看| 亚洲日本成本人观看| 亚洲韩国—中文字幕| 亚洲国产精品无码久久久久久曰| 中文字幕免费在线看线人| 国产99精品一区二区三区免费 | 亚洲人成网站免费播放| 久久久久亚洲AV无码专区首| 免费一级毛片在线播放| 国产精品视频免费一区二区| 免费国产在线观看老王影院| 中文字幕免费在线看线人| 国产精品1024在线永久免费| 亚洲精品天堂无码中文字幕| 久久亚洲日韩看片无码| 亚洲欭美日韩颜射在线二| 国产免费拔擦拔擦8x| 久久精品免费一区二区喷潮| www视频免费看| 无码国产精品一区二区免费3p |