锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲最新黄色网址,99久久婷婷国产综合亚洲,国产天堂亚洲精品http://www.tkk7.com/songfei/category/5000.html嬈㈣繋鑹沖効鐨勫姞鍏?/description>zh-cnTue, 27 Feb 2007 12:00:03 GMTTue, 27 Feb 2007 12:00:03 GMT60HTML鎿嶄綔XML鏁版嵁宀涳紝鏁版嵁緇戝畾 http://www.tkk7.com/songfei/articles/66434.html澶╁椋炰粰澶╁椋炰粰Tue, 29 Aug 2006 06:31:00 GMThttp://www.tkk7.com/songfei/articles/66434.htmlhttp://www.tkk7.com/songfei/comments/66434.htmlhttp://www.tkk7.com/songfei/articles/66434.html#Feedback0http://www.tkk7.com/songfei/comments/commentRss/66434.htmlhttp://www.tkk7.com/songfei/services/trackbacks/66434.html鐩墠錛岃澶歐eb緗戠珯鐨勫唴瀹規(guī)暟鎹兘瀛樻斁鍦ㄦ暟鎹簱鎴栨暟鎹枃浠朵腑銆傚浜嶹eb紼嬪簭寮鍙戜漢鍛樻潵璇達紝濡傛灉瑕佹兂鎶婃湁鐢ㄧ殑淇℃伅浠庢暟鎹簱涓彁鍙栧嚭鏉ワ紝浼犵粺鐨勬柟娉曟槸鍦ㄦ湇鍔″櫒绔紪鍐欒剼鏈▼搴忥紙濡俈BScript銆丣avaScript銆丆GI銆丄SP銆丳erl絳夌瓑錛夛紝閫氳繃瀵規(guī)暟鎹簱鎵цSQL鏌ヨ寰楀埌鐩稿叧璁板綍錛岀劧鍚庢妸鏌ヨ緇撴灉緇勭粐鎴怘TML欏甸潰榪斿洖緇欏鎴風錛岀敤鎴蜂嬌鐢ㄦ祻瑙堝櫒瑙傚療鏈緇堢粨鏋溿偮?br />涓轟簡鎻愰珮緋葷粺鏈嶅姟鐨勭伒媧繪с佸彲鎵╁睍鎬э紝浣挎湇鍔″璞¤寖鍥存洿騫匡紝璁稿鍟嗕笟緗戠珯閮藉敖鍙兘鍦版妸鍟嗗姟瑙勫垯銆佸師濮嬫暟鎹拰琛ㄧ幇褰㈠紡褰撳仛鐩鎬簰鐙珛鐨勬湇鍔″垎鍒彁渚涖侶TML閭g钑存暟鎹簬鏄劇ず涔嬩腑鐨勬柟寮忔樉鐒朵笉鍚堜箮榪欑闇姹傘傚洜姝わ紝鎶婂師濮嬫暟鎹瓨鏀懼湪XML鏂囨。涓紝浣跨敤鏍峰紡鍗曟枃浠舵樉紺哄唴瀹規(guī)槸XML鎶鏈傚悎浜庣數(shù)瀛愬晢鍔$殑浼樺娍鎵鍦ㄣ備絾浠庢湰璐ㄤ笂鏉ヨ錛孹SL鎶鏈笉鏄潰鍚戞暟鎹樉紺虹殑錛屽畠鏄竴縐嶆牸寮忚漿鎹㈡妧鏈紝鍦ㄦ樉紺烘墜孌靛拰鏂瑰紡涓婇兘榪滀笉鍙奌TML閭f牱涓板瘜銆傚緙栫▼浜哄憳鏉ヨ錛屼竴縐嶈緝涓虹悊鎯崇殑鏂規(guī)鏄妸HTML鍜孹ML涓ょ鎶鏈浉緇撳悎錛屼紭鍔夸簰琛ワ紝浣跨湡姝g殑鍘熷鏁版嵁鍦ㄨ兘澶熶繚鎸佹湰鏉ユ剰涔夊拰緇撴瀯鐨勫悓鏃訛紝榪樿兘鍏呭垎鍒╃敤HTML閭e崈鍙樹竾鍖栫殑鏄劇ず鎶宸с俋ML鏁版嵁宀涘氨鏄繖縐嶆妧鏈瀺鍚堢殑浜х墿錛屽畠浣跨敤<XML>鏍囩鎶奨ML鏁版嵁鐩存帴宓屽叆鍒癏TML欏甸潰涓紝浠庤屽疄鐜頒簡浜岃呯殑浼樺娍浜掕ˉ銆偮?br />
錛掋両E涓暟鎹矝鐨勫鐞嗘柟寮徛?br />涓轟簡鑳藉澶勭悊榪欑鍐呭祵XML浠g爜鐨凥TML欏甸潰錛孖nternet聽Explorer聽4.0錛堜互涓嬬畝縐癐E聽4.0錛夊紩鍏ヤ簡DSO錛圖ata聽Source聽Objects錛屾暟鎹簮瀵硅薄錛夋妧鏈紝鐢↗ava聽Applet瀹炵幇銆偮?br />渚嬪錛毬?br /><APPLET聽CODE=鈥渃om.ms.xml.dso.XMLDSO.class鈥澛營D=鈥渪mldso鈥澛燱IDTH=0聽HEIGHT=0聽MAYSCRIPT=TRUE>聽
<PARAM聽NAME=鈥淯RL鈥澛燰ALUE=鈥渕yXML.xml鈥?gt;聽
</APPLET>聽
涓婅堪渚嬪瓙涓紝CODE灞炴ф寚鏄庝簡DSO聽Java灝忕▼搴忥紝MAYSCRIPT灞炴т繚璇佺敤鎴風鑴氭湰鑳藉澶勭悊鏁版嵁瀵硅薄錛孭ARAM鏍囩鎸囨槑浜哫ML鏂囨。鐨勪綅緗偮?br />浣跨敤Java鐨勫眬闄愭у湪浜庡彧鑳藉湪HTML鏂囨。涓鏄嶺ML鐨刄RL鍦板潃錛岃屼笉鑳界洿鎺ュ皢XML鏍囩宓屽叆鍏朵腑錛岃繖灝卞拰鐪熸鐨勬暟鎹矝鏂規(guī)榪樻湁涓瀹氱殑宸窛銆傚井杞湪Internet聽Explorer聽5.0錛堜互涓嬬畝縐癐E聽5.0錛変腑瀵笵SO鎶鏈繘琛屼簡鎵╁睍錛岀獊鐮翠簡浠ュ線鐨勯檺鍒訛紝浣縃TML鍜孹ML鐪熸鍦拌瀺鍚堝埌浜嗕竴璧楓侶TML欏甸潰涓敮鎸佺洿鎺ヤ嬌鐢?lt;XML>鏍囩銆偮?br />渚嬪錛毬?br /><HTML>聽
<XML聽ID=鈥渪mldso鈥?gt;聽
<?xml聽version=鈥?.0鈥?>聽
some聽XML鈥︹β?br /></XML>聽
鍙淇濊瘉姣忎釜鏁版嵁宀涚殑ID閮芥槸鍞竴鐨勶紝灝卞彲浠ュ湪欏甸潰涓殑浠諱綍蹇呰鐨勫湴鏂瑰祵鍏ユ暟鎹矝錛屽茍涓旇繖浜汥SO褰兼閮芥槸鐩鎬簰鐙珛鐨勩偮?br />闄や簡涓婇潰渚嬪瓙涓殑榪欑鐩存帴宓屽叆鏂瑰紡錛岃繕鍙互浣跨敤澶栭儴寮曠敤鏂瑰紡閾炬帴鏁版嵁宀涖偮?br />渚嬪錛毬?br /><XML聽ID=鈥渪mldso鈥澛燬RC=鈥渕yXML.xml鈥?gt;聽
</XML>聽
榪欐牱錛屽彧鏈夊綋鍏徃鐨勫鎴峰璞$戶緇嬌鐢↖E聽4.0錛屽茍涓斾負浜嗚В鍐寵繖閮ㄥ垎瀹㈡埛鐨勫吋瀹規(guī)ч棶棰樻椂錛孞ava聽Applet鎵嶆槸緙栫▼浜哄憳瑕佽冭檻鐨勯夋嫨鏂規(guī)銆偮?br />鍦↖E聽5.0鎵瀹炵幇鐨凞SO鎶鏈腑錛屽鏋滄暟鎹槸閫氳繃SQL璇█瀵規(guī)暟鎹簱榪涜鏌ヨ寰楀埌鐨勭粨鏋滐紝閭d箞灝辨妸瀹冧滑瀛樻斁鍦ˋDO錛圓ctiveX聽Data聽Objects錛夎褰曢泦涓傛湇鍔″櫒鎶婅繖縐岮ctiveX鎺т歡錛堥氬父鏄疉DO璁板綍闆嗭級鍙戦佸埌瀹㈡埛绔紝鐢卞鎴風鑴氭湰紼嬪簭鍋氳繘涓姝ョ殑澶勭悊銆傚疄闄呬笂錛孖E聽5.0灝辨槸鎶奨ML鏁版嵁宀涗綔涓轟竴縐嶇壒孌婄殑ADO璁板綍闆嗚繘琛屽鐞嗙殑銆偮?br />
錛撱乆ML鐨勬暟鎹粦瀹毬?br />錛?錛堿DO璁板綍闆嗙殑鏄犲皠聽
XML涓殑姣忎竴鏉′富鍏冪礌閮借鏄犲皠涓篈DO璁板綍闆嗕腑鐨勪竴鏉¤褰曪紝鑰屽瓙鍏冪礌鍒欑浉搴斿湴琚槧灝勫埌璁板綍闆嗕腑鐨勫瓧孌碉紙涔熺О涓哄煙錛夈偮?br />渚嬪錛屽瓨鍦╔ML鏁版嵁宀沚ooks.xml濡備笅錛毬?br /><XML聽ID=鈥渪mldso鈥?gt;聽
<?xml聽version=鈥?.0鈥?>聽
<booklist>聽
<book>聽
<title>Straight聽Talk聽About聽Computers</title>聽
<isbn>72-80088-005</isbn>聽
</book>聽
<book>聽
<title>聽Gourmet聽Microwave聽</title>聽
<isbn>72-80081-082</isbn>聽
</book>聽
</booklist>聽
</XML>聽
姝ゆ椂錛屾槧灝勫悗鐨凙DO璁板綍闆嗕負錛毬?br />title聽isbn聽
Straight聽Talk聽About聽Computers聽72-80088-005聽
Gourmet聽Microwave聽72-80081-082聽

錛?錛変笌HTML鍏冪礌鐨勭粦瀹毬?br />
鍦℉TML鏂囨。涓祵鍏ユ暟鎹矝涔嬪悗錛屽氨鍙互灝哫ML鏁版嵁宀涗笌HTML鍏冪礌緇戝畾鍦ㄤ竴璧楓傛瘡涓涓狣SO鏉$洰錛堝嵆鏁版嵁宀涳級閮芥湁鍞竴鐨処D鍙楓傞鍏堝皢HTML鍏冪礌涓殑DATASRC灞炴ц緗負鐩稿簲鐨処D錛屽氨鍙互鎶奌TML鍏冪礌鍜屾暟鎹矝鑱旂郴鍦ㄤ竴璧楓傜劧鍚庡啀閫氳繃璁劇疆DATAFLD灞炴у鹼紝鏉ョ‘瀹氭墍鎻愬彇鐨刋ML鍏冪礌銆偮?br />
渚嬪錛屼笌DIV鍏冪礌緇戝畾鐨勪唬鐮佸涓嬶細聽
<DIV聽ID=title聽DATASRC=#xmldso聽DATAFLD=鈥渢itle鈥?gt;</DIV>聽
<DIV聽ID=price聽DATASRC=#xmldso聽DATAFLD=鈥渋sbn鈥?gt;</DIV>聽
娉ㄦ剰錛氬茍闈炴墍鏈夌殑HTML鍏冪礌閮借兘涓嶺ML鏁版嵁宀涚粦瀹氥傜洰鍓嶏紝鏀寔榪欑DSO緇戝畾鏈哄埗鐨勫厓绱犲涓嬶細聽
A銆丄PPLET銆丅UTTON銆丏IV銆丗RAME銆両FRAME銆伮營MG銆両NPUT聽(姝ゅ綾誨瀷鏄細CHECKBOX銆丠IDDEN銆伮燣ABEL銆丳ASSWORD銆丷ADIO鍜孴EXT)銆丩ABEL銆伮燤ARQUEE銆丼ELECT銆丼PAN銆乀ABLE鍜屄燭EXTAREA銆偮?br />
錛?錛変互琛ㄦ牸鏂瑰紡鏄懼紡XML鏁版嵁聽

鑻ユ妸XML鏁版嵁涓嶵ABLE鍏冪礌緇戝畾鍦ㄤ竴璧鳳紝灝卞彲浠ヨ嚜鍔ㄥ湴鏄劇ず涓哄琛岀殑琛ㄦ牸褰㈠紡銆偮?br />渚嬪錛孹ML鏁版嵁涓嶵ABLE鍏冪礌緇戝畾鐨勪唬鐮佸涓嬶細聽
<TABLE聽BORDER=1聽DATASRC=鈥?xmldso鈥?gt;聽
<THEAD>聽
<TR><TH>Title</TH>聽
<TH>ISBN</TH></TR>聽
</THEAD>聽
<TBODY>聽
<TR><TD><DIV聽DATAFLD=鈥渢itle鈥?gt;</DIV></TD>聽
<TD><DIV聽DATAFLD=鈥渋sbn鈥?gt;聽
</DIV></TD></TR>聽
</TBODY>聽
</TABLE>聽
榪欐牱錛岄氳繃灝員ABLE鍏冪礌涓殑DATASRC灞炴ц瀹氫負#xmldso錛屾妸涓よ呯粦瀹氳搗鏉ャ傝〃鏍煎唴閮ㄥ垎涓鴻〃澶達紙THEAD錛夊拰琛ㄤ綋錛圱BODY錛変袱閮ㄥ垎銆傛瘡涓涓?lt;book>鍏冪礌閮戒細鏄劇ず涓轟竴琛岃〃鏍鹼紝鍏蜂綋姣忎竴鏍忔樉紺哄摢涓欏規(guī)暟鎹紝鍒欑敱DIV鍏冪礌涓殑DATAFLD灞炴ф寚瀹氥偮?br />

錛戙乆ML鐨勫祵濂楀鐞喡?br />涓鑸儏鍐典笅錛屾垜浠粠鏁版嵁搴撲腑鏌ヨ寰楀埌鐨勭粨鏋滈泦鍙兘寰堝ぇ錛屾墍浠ヤ粠鏈嶅姟鍣ㄨ繑鍥炲埌瀹㈡埛绔椂錛屾暟鎹細琚垎鎴愯嫢騫蹭釜欏甸潰鍒嗗埆榪涜浼犻掋傛鏃訛紝鍒╃敤TABLE鍏冪礌涓殑DATAPAGESIZE灞炴у彲浠ユ寚瀹氭瘡涓〉闈㈠寘鍚褰曢泦鏉$洰鐨勪釜鏁般偮?br />渚嬪錛毬?br /><TABLE聽DATASRC=鈥?xmldso鈥澛燚ATAPAGESIZE=10>聽
寰堟樉鐒訛紝濡傛灉XML鏁版嵁鏍煎紡鏄縐扮殑錛屽垯鏃犺鏄槧灝勫埌ADO璁板綍闆嗚繕鏄粦瀹氬埌琛ㄦ牸鍏冪礌涓婏紝鏁堟灉閮戒細寰堝ソ銆傝屽湪瀹為檯搴旂敤涓紝XML鏁版嵁涓洪潪瀵圭О鐨勪緥瀛愪篃寰堝錛屾瘮濡備竴鏈功鐨勪綔鑰呭彲鑳藉氨涓嶆涓浣嶏紝榪欏湪鏄犲皠鍜岀粦瀹氭椂閮戒細浜х敓涓瀹氱殑楹葷儲銆傝В鍐抽棶棰樼殑鍔炴硶灝辨槸鍒╃敤宓屽銆傛瘡涓琛岃〃鏍間粛瀵瑰簲涓鏉′富鍏冪礌錛屾瘡涓鏍忎篃瀵瑰簲鐫涓涓瓙鍏冪礌銆傚浜庨噸澶嶅厓绱狅紝鍒欎嬌鐢ㄥ祵濂楃殑琛ㄦ牸銆傛垜浠亣璁懼湪books.xml涓紝絎竴鏈功鐨勪綔鑰呬負Dean聽Straight錛岀浜屾湰涔︾殑浣滆呬負Charlotte聽Cooper銆丼helley聽Burke鍜孯egina聽Murphy銆傛鏃訛紝緇戝畾榪囩▼濡備笅錛毬?br />鈼徛犲垱寤篢ABLE鍏冪礌錛屽茍灝嗘暟鎹矝ID璧嬪肩粰DATAFLD灞炴э紱聽
鈼徛犲浜庡崟鐙殑XML鍏冪礌錛屽<isbn>錛屽垱寤篢D鍏冪礌錛屽茍璁懼畾鐩稿簲鐨凞ATAFLD灞炴э紱聽
鈼徛犲浜庨噸澶嶅厓绱狅紝鍦═D鍏冪礌鍐呴儴宓屽涓涓〃鏍鹼紱聽
鈼徛犵敤鍗曡鍗曞垪鐨勫艦寮忔樉紺轟綔鑰呬俊鎭偮?br />娉ㄦ剰榪欓噷鐨凞ATAFLD灞炴у繀欏昏瀹氫負鈥?TEXT鈥濓紝聽
浠ヤ繚璇佸祵濂楀厓绱犵殑鍐呭琚叏閮ㄦ樉紺哄湪鎸囧畾鐨勫厓绱犱腑銆偮?br />瀹屾暣鐨凥TML浠g爜濡備笅鎵紺猴細聽
<TABLE聽BORDER=1聽DATASRC=鈥?xmldso鈥?gt;聽
<THEAD><TR><TH>Title</TH>聽
<TH>ISBN</TH>聽
<TH>Author</TH></TR></THEAD>聽
<TBODY>聽
<TR><TD>聽
<DIV聽DATAFLD=鈥渢itle鈥?gt;</DIV></TD>聽
<TD><DIV聽DATAFLD=鈥渋sbn鈥?gt;聽
</DIV></TD>聽
<TD>聽
<TABLE聽BORDER=0聽DATASRC=鈥?xmldso鈥澛燚ATAFLD=鈥渁uthor鈥?gt;聽
<TR><TD><SPAN聽DATAFLD=鈥?Text鈥?gt;</SPAN></TD></TR>聽
</TABLE>聽
</TD>聽
</TR></TBODY>聽
</TABLE>聽
浜嬪疄涓婏紝浣跨敤DSO鏁堟灉鏈濂界殑鎯呭喌鏄拡瀵圭粨鏋勫縐扮殑鏁版嵁錛岃屽鐞嗛潪瀵圭О鏁版嵁鏇存湁鏁堢殑鍔炴硶鏄嬌鐢ㄦ垜浠互鍚庡皢瑕佷粙緇嶇殑DOM鎶鏈偮?br />錛掋丏SO鎶鏈殑搴旂敤聽
1錛庤闂厓绱犵殑灞炴?br />鐢―SO璁塊棶鍏冪礌鐨勫睘鎬у緢綆鍗曪紝鍙互鐩存帴鎶婂睘鎬ф寜瀛愬厓绱犳潵澶勭悊銆偮?br />渚嬪錛毬?br /><book聽isbn=鈥?-001-122-12鈥?gt;聽
鈥︹β?br /></book>聽
榪欐牱錛屽湪緇戝畾鍒癏TML琛ㄦ牸涓椂錛屽氨鍙互鐩存帴鎸夊瓙鍏冪礌鏉ュ鐞嗭細聽
<TD><SPAN聽DATAFLD=鈥渋sbn鈥?gt;聽</SPAN></TD>聽
濡傛灉閬囧埌灞炴у悕鍜屽瓙鍏冪礌鍚嶄竴鏍風殑鎯呭喌錛屽湪鍏冪礌鍚嶅墠鍔犱笂鈥?鈥濊繘琛屽尯鍒嗐偮?br />
2錛庨亶鍘嗚褰曢泦聽
DSO鎶奨ML鏁版嵁宀涘綋鍋欰DO璁板綍闆嗚繘琛屽鐞嗙殑涓澶уソ澶勬槸鍙互鍒╃敤ADO鎻愪緵鐨勫悇縐嶆柟娉曞鏁版嵁婧愯繘琛岃闂紝灝ゅ叾鏄綋鎶婃暟鎹矝涓庣被浼糞PAN銆丏IV鍜孖NPUT絳塇TML鍏冪礌緇戝畾鏃躲傞氬父榪欎簺鍏冪礌鏄劇ず鐨勬槸璁板綍闆嗙殑棣栨潯璁板綍錛?/strong>瑕佹兂瀵硅褰曢泦榪涜閬嶅巻嫻忚錛屽彲浠ヤ嬌鐢ˋDO鐨勬柟娉暵?聽Move銆丮oveFirst銆丮oveLast銆丮oveNext鍜孧ovePrevious銆傛瘮濡傚垱寤轟竴涓寜閽搷搴斿嚱鏁幫紝鍙鐢ㄦ埛鐐瑰嚮鈥淣ext鈥濇寜閽紝灝卞彲浠ラ愭潯嫻忚鐩稿簲鐨勮褰曘?/font>聽
渚嬪錛毬?br /><XML聽ID=鈥渪mldso鈥澛燬RC=鈥渂ooks.xml鈥?gt;聽
</XML>聽
Sub聽btnNext_onclick()聽
xmldso.RecordSet.MoveNext聽
End聽Sub聽

3錛庝笌Script璇█鐩哥粨鍚埪?br />鏈変簺鐢ㄦ埛姣旇緝涔犳儻緙栧啓Script璇█錛屽埄鐢―SO鎶鏈悓鏍峰彲浠ヤ笌鍚勭Script寰堝ソ鍦扮粨鍚堝湪涓璧楓偮?br />渚嬪錛堜互VB聽Script涓轟緥錛夛紝璁塊棶璁板綍闆嗘椂錛屼唬鐮佸涓?聽聽
Dim聽rsBooks聽
Set聽rsBooks聽=聽xmldso.RecordSet聽
璁塊棶瀛楁錛堝瓙鍏冪礌錛夌殑鍊鹼細聽
Dim聽sTitle聽
sTitle聽=聽rsBooks(鈥渢itle鈥?聽
鍙互浣跨敤innerText鍜宨nnerHTML灞炴ф妸寰楀埌鐨勫間紶閫掔粰HTML鍏冪礌銆備緥濡傦紝鏈変竴涓狣IV鍏冪礌鍚嶄負divTitle錛岃祴鍊間唬鐮佸涓嬫墍紺猴細聽
divTitle.innerTEXT聽=聽sTitle聽
鍒╃敤鑴氭湰紼嬪簭榪樺彲浠ュ鐞嗚澶欴SO浜嬩歡錛屼笅琛ㄥ垪涓句簡鍏朵腑鐨勪竴閮ㄥ垎浜嬩歡錛毬?br />浜嬩歡聽瑙﹀彂浜嬩歡聽鍝嶅簲聽
onDataAvailable聽鏂版暟鎹噯澶囧氨緇犲綋鍓嶈繍琛岀姸鎬佷腑璁板綍闆嗕腑鏉$洰鐨勪釜鏁奧?br />onDataSetComplete聽鏁版嵁婧愪腑鐨勬墍鏈夋暟鎹凡緇忓埌杈韭犳樉紺烘暟鎹紝鎴栬繑鍥炰竴涓‘璁ゆ秷鎭?br />onDataSetChanged聽璁板綍闆嗕腑鐨勬暟鎹慨鏀瑰畬姣曪紝鍙互璁塊棶聽鏄劇ず鏇存柊鍚庣殑鏁版嵁聽
onRowEnter聽褰撳墠璁板綍鎸囬拡宸茬粡縐誨姩聽鍦ㄦ樉紺烘暟鎹墠瀵規(guī)暟鎹繘琛屽繀瑕佺殑鏍煎紡鍖柭?br />聽
鍦ㄨ剼鏈腑澶勭悊鍚勭浜嬩歡鐨勬柟娉曞氨鏄湪<SCRIPT>鏍囩涓嬌鐢‵OR灞炴ф寚瀹歑ML鏁版嵁宀汭D錛屼嬌鐢‥VENT灞炴х‘瀹氫簨浠剁被鍨嬨偮?br />渚嬪錛岃幏鍙栬褰曢泦涓潯鐩殑涓暟錛毬?br /><SCRIPT聽Language=鈥淰B聽Script鈥澛燜OR=鈥渪mldso鈥澛燛VENT=鈥渙nDataAvailable鈥?gt;聽
lblRecords.value聽=聽booklist.RecordSet.RecordCount聽
</SCRIPT>聽
闄や簡鏄劇ず璁板綍鏁版嵁涔嬪錛岃剼鏈▼搴忚繕鍙互瀵硅褰曢泦榪涜蹇熸煡璇€佹帓搴忋佺紪杈戠瓑鎿嶄綔銆備絾瑕佹寚鍑虹殑鏄紝铏界劧ADO鎶鏈腑鎻愪緵浜嗙被浼糞ortColumn鍜孲ortAscending絳夋柟娉曞XML鏁版嵁榪涜鎺掑簭錛屼絾鏄晥鏋滀笉濡俋SL涓殑鎺掑簭鎿嶄綔錛屾墍浠ュ緩璁ぇ瀹跺厖鍒嗗埄鐢╔SL鎶鏈潵瀹炵幇榪欓儴鍒嗗姛鑳姐偮?br />鍏朵綑鐨勫姛鑳斤紝濡傚埄鐢ㄨ剼鏈璁板綍闆嗚繘琛岃濡傚鍔犮佸垹闄ゃ佷慨鏀圭瓑鎿嶄綔錛屾垨鏄垎欏墊樉紺篐TML琛ㄦ牸絳夌瓑錛屽湪榪欓噷灝變笉涓涓涓句緥璇存槑浜嗭紝鐢ㄦ硶涓庡墠闈㈢殑鎿嶄綔澶у悓灝忓紓銆傛渶鍚庨渶瑕佽鏄庣殑鏄紝鎵鏈夊DSO瀵硅薄鐨勬搷浣滈兘鏄湪鐢ㄦ埛绔畬鎴愮殑錛屽疄闄呬笂鏄湇鍔″櫒鏁版嵁瀵硅薄鐨勪竴浠藉鍒跺搧錛岃繖鏍峰仛鐨勫ソ澶勬槸閬垮厤浜嗙綉緇滄壙鍙楀ぇ閲忔暟鎹氫俊鐨勮礋鎷呫備絾榪欐椂鐢ㄦ埛绔墍鍋氱殑浠諱綍鎿嶄綔瀵規(guī)湇鍔″櫒涓婂瓨鍌ㄧ殑鏁版嵁姣棤褰卞搷錛屽鏋滆鎯沖鏈嶅姟鍣ㄨ褰曚篃榪涜淇敼錛岄偅涔堝氨瑕佺敤鍒板鎴風涓庢湇鍔″櫒绔殑鏁版嵁浜ゆ崲鎶鏈紝鎴戜滑灝嗗湪浠ュ悗瀵規(guī)榪涜浠嬬粛銆偮?

]]>
XML閰嶇疆鏂囦歡鐨勮鍙?sax)http://www.tkk7.com/songfei/articles/63903.html澶╁椋炰粰澶╁椋炰粰Wed, 16 Aug 2006 06:51:00 GMThttp://www.tkk7.com/songfei/articles/63903.htmlhttp://www.tkk7.com/songfei/comments/63903.htmlhttp://www.tkk7.com/songfei/articles/63903.html#Feedback0http://www.tkk7.com/songfei/comments/commentRss/63903.htmlhttp://www.tkk7.com/songfei/services/trackbacks/63903.htmlXML閰嶇疆鏂囦歡鐨勮鍙?sax)
JSP鏁欑▼-Java涓嶺ML

鍦ㄦ渶榪戠殑涓涓狹IS欏圭洰涓?涓轟簡閬垮厤紜紪鐮?鎴戦渶瑕佹妸涓浜涢厤緗俊鎭啓鍦ㄤ竴涓厤緗枃浠朵腑.鑰冭檻鍒版槸J2EE欏圭洰,J2EE鐨勯厤緗枃浠?br />濂藉儚閮芥槸xml鏂囦歡浜?鍐嶇敤浼犵粺ini鏂囦歡鏄笉鏄湁鐐硅惤浼嶄簡?
ok,灝辯敤xml鍋氶厤緗枃浠跺惂.
鎴戠殑閰嶇疆鏂囦歡reportenv.xml濡備笅,姣旇緝綆鍗?

<?xml version="1.0" encoding="utf-8"?>
<reportenv>
<datasource>
<username>sqlname</username>
<password>password</password>
</datasource>
</reportenv>

鐜板湪鐨勯棶棰樻槸鎴戠敤浠涔堟潵璇誨彇閰嶇疆淇℃伅?
鐜板湪嫻佽鐨勬槸dom4j鍜宻ax,鎴戜互鍓嶄竴鐩寸敤dom4j.鍙槸weblogic workshop鑷甫鐨勬槸sax,鎴戝張涓嶆兂鍐嶅紩鍏ュ寘浜?浜庢槸灝辨槸sax鍚?
絎竴姝?ConfigParser.java
/*
聽* Create Date: 2005-6-13
聽* Create By: 鏉挎ˉ閲屼漢
聽* purpose:xml閰嶇疆鏂囦歡灞炴ц鍙栧櫒
聽*/
package com.infoearth.report;

import org.xml.sax.Attributes;
import org.xml.sax.helpers.DefaultHandler;
import org.xml.sax.SAXException;
import java.util.Properties;

public class ConfigParser extends DefaultHandler {

聽聽聽 ////瀹氫箟涓涓狿roperties 鐢ㄦ潵瀛樻斁灞炴у?br />聽聽聽 private Properties props;

聽聽聽 private String currentSet;
聽聽聽 private String currentName;
聽聽聽 private StringBuffer currentValue = new StringBuffer();

聽聽聽 //鏋勫緩鍣ㄥ垵濮嬪寲props
聽聽聽 public ConfigParser() {

聽聽聽聽聽聽聽 this.props = new Properties();
聽聽聽聽聽聽聽 }

聽聽聽 public Properties getProps() {
聽聽聽聽聽聽聽 return this.props;
聽聽聽聽聽聽聽 }

聽聽聽 //瀹氫箟寮濮嬭В鏋愬厓绱犵殑鏂規(guī)硶. 榪欓噷鏄皢<xxx>涓殑鍚嶇Оxxx鎻愬彇鍑烘潵.
聽聽聽 public void startElement(String uri, String localName, String qName, Attributes attributes)
聽聽聽 throws SAXException {
聽聽聽聽聽聽聽 currentValue.delete(0, currentValue.length());
聽聽聽聽聽聽聽 this.currentName =qName;
聽聽聽聽聽聽聽 }

聽聽聽 //榪欓噷鏄皢<xxx></xxx>涔嬮棿鐨勫煎姞鍏ュ埌currentValue
聽聽聽 public void characters(char[] ch, int start, int length) throws SAXException {
聽聽聽聽聽聽聽 currentValue.append(ch, start, length);
聽聽聽聽聽聽聽 }

聽聽聽 //鍦ㄩ亣鍒?lt;/xxx>緇撴潫鍚?灝嗕箣鍓嶇殑鍚嶇О鍜屽間竴涓瀵瑰簲淇濆瓨鍦╬rops涓?br />聽聽聽 public void endElement(String uri, String localName, String qName) throws SAXException {
聽聽聽聽聽聽聽 props.put(qName.toLowerCase(), currentValue.toString().trim());
聽聽聽聽聽聽聽 }

聽聽聽 }
聽聽聽
聽絎簩姝?ParseXML.java
聽/*
聽* Create Date: 2005-6-13
聽* Create By: 鏉挎ˉ閲屼漢 鏉庢槬闆蜂慨鏀?br />聽* purpose:xml閰嶇疆鏂囦歡灞炴ц鍙栧櫒(閫氱敤),
聽*/

package com.infoearth.report;

import java.util.Properties;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import java.net.URL;

public class ParseXML{
聽聽聽 //瀹氫箟涓涓狿roperties 鐢ㄦ潵瀛樻斁灞炴у?br />聽聽聽 private Properties props;

聽聽聽 public Properties getProps() {
聽聽聽聽聽聽聽 return this.props;
聽聽聽聽聽聽聽 }

聽聽聽 public void parse(String filename) throws Exception {
聽聽聽聽聽聽聽 //灝嗘垜浠殑瑙f瀽鍣ㄥ璞″寲
聽聽聽聽聽聽聽 ConfigParser handler = new ConfigParser();
聽聽聽聽聽聽聽 //鑾峰彇SAX宸ュ巶瀵硅薄
聽聽聽聽聽聽聽 SAXParserFactory factory = SAXParserFactory.newInstance();
聽聽聽聽聽聽聽 factory.setNamespaceAware(false);
聽聽聽聽聽聽聽 factory.setValidating(false);
聽聽聽聽聽聽聽 //鑾峰彇SAX瑙f瀽
聽聽聽聽聽聽聽 SAXParser parser = factory.newSAXParser();
聽聽聽聽聽聽聽 try{
聽聽聽聽聽聽聽聽聽聽聽 //灝嗚В鏋愬櫒鍜岃В鏋愬璞ml鑱旂郴璧鋒潵,寮濮嬭В鏋?
聽聽聽聽聽聽聽聽聽聽聽 parser.parse(filename, handler);
聽聽聽聽聽聽聽聽聽聽聽 //鑾峰彇瑙f瀽鎴愬姛鍚庣殑灞炴?br />聽聽聽聽聽聽聽聽聽聽聽 props = handler.getProps();
聽聽聽聽聽聽聽聽聽聽聽 }finally{
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 factory=null;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 parser=null;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 handler=null;
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 }
聽聽聽聽聽聽聽 }
聽聽聽 }
絎笁姝?ReadConfigXml.java
/*
聽* Create Date: 2005-6-13
聽* Create By: 鏉庢槬闆?br />聽* purpose:xml閰嶇疆鏂囦歡灞炴ц鍙栧櫒
聽*/

package com.infoearth.report;

import java.util.Properties;

public class ReadConfigXml
{
聽聽聽 private Properties props;
聽聽聽
聽聽聽 public ReadConfigXml(String url){
聽聽ParseXML myRead = new ParseXML();
聽聽聽try {
聽聽聽聽myRead.parse(url);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 props = new聽 Properties();
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 props = myRead.getProps();
聽聽聽} catch (Exception e) {
聽聽聽聽e.printStackTrace();
聽聽聽}聽聽聽聽聽
聽聽聽聽聽聽聽 }
聽聽 public聽 String getUserName(){
聽聽聽聽聽聽聽 return props.getProperty("username");
聽聽聽聽聽聽聽 }聽聽聽聽聽聽聽
聽聽 public String getPassWord(){
聽聽聽聽聽聽聽 return props.getProperty("password");
聽聽聽 }

}


ok,鎼炲畾浜?璇誨彇鐨勬椂鍊欏涓?
ReadConfigXml xmlread = new ReadConfigXml("reportenv.xml");
String username = xmlread.getUserName();
String password = xmlread.getPassWord();

鍓嶄袱涓被瀹炵幇浜唜ml鏂囨。灞炴ц緗殑浠繪剰璇誨彇.鍙鏄痻ml鐨勫睘鎬у?閮借鍒頒簡property涓?浣犲彧闇鍦╬roperty涓彁鍙栧氨鍙互浜?
絎笁涓被鏄垜閽堝鎴戠殑xml鏂囦歡鍐欑殑,浼間箮鏈夌偣澶氫綑.鍛靛懙.鍏跺疄鏈夐毦璦涔嬮殣.鍥犱負涓嶆兂榪囧鐨勬敼鍔ㄤ互鍓嶇殑紼嬪簭鏋舵瀯,灝辯敾铔囨坊
瓚充簡涓涓?

鍙﹀,鎰熻阿j閬?鎰熻阿鏉挎ˉ閲屼漢.



]]>
java鎿嶄綔xml緙栫▼瀹炰緥(sax)http://www.tkk7.com/songfei/articles/63882.html澶╁椋炰粰澶╁椋炰粰Wed, 16 Aug 2006 05:29:00 GMThttp://www.tkk7.com/songfei/articles/63882.htmlhttp://www.tkk7.com/songfei/comments/63882.htmlhttp://www.tkk7.com/songfei/articles/63882.html#Feedback0http://www.tkk7.com/songfei/comments/commentRss/63882.htmlhttp://www.tkk7.com/songfei/services/trackbacks/63882.htmlXML鏂囨。鏍鋒湰錛?


<?xml version="1.0"?>
<simple date="7/7/2000" >
<name> Bob </name>
<location> New York </location>
</simple>


浠g爜:
package xmltest;
import javax.xml.parsers.*;
import org.xml.sax.*;
import org.xml.sax.helpers.*;
import java.io.*;


public class SaxTest extends DefaultHandler {


// 閲嶈澆DefaultHandler綾葷殑鏂規(guī)硶
// 浠ユ嫤鎴猄AX浜嬩歡閫氱煡銆?
//
// 鍏充簬鎵鏈夋湁鏁堜簨浠訛紝瑙乷rg.xml.sax.ContentHandler
//
public void startDocument( ) throws SAXException {
System.out.println( "SAX Event: START DOCUMENT" );
}

public void endDocument( ) throws SAXException {
System.out.println( "SAX Event: END DOCUMENT" );
}

public void startElement( String namespaceURI,
String localName,
String qName,
Attributes attr ) throws SAXException {
System.out.println( "SAX Event: START ELEMENT[ " +
localName + " ]" );

// 濡傛灉鏈夊睘鎬э紝鎴戜滑涔熶竴騫舵墦鍗板嚭鏉ワ紟錛庯紟
for ( int i = 0; i < attr.getLength(); i++ ){
System.out.println( " ATTRIBUTE: " +
attr.getLocalName(i) +
" VALUE: " +
attr.getValue(i) );
}

}

public void endElement( String namespaceURI,
String localName,
String qName ) throws SAXException {
System.out.println( "SAX Event: END ELEMENT[ " +
localName + " ]" );
}

public void characters( char[] ch, int start, int length )
throws SAXException {

System.out.print( "SAX Event: CHARACTERS[ " );

try {
OutputStreamWriter outw = new OutputStreamWriter(System.out);
outw.write( ch, start,length );
outw.flush();
} catch (Exception e) {
e.printStackTrace();
}

System.out.println( " )" );

}


public static void main( String[] argv ){

System.out.println( "Example1 SAX Events:" );
try {

// SAXParserFactory spFactory = SAXParserFactory.newInstance();
// SAXParser sParser = spFactory.newSAXParser();


// 寤虹珛SAX 2瑙f瀽鍣紟錛庯紟
XMLReader xr = XMLReaderFactory.createXMLReader("org.apache.xerces.parsers.SAXParser");

// 瀹夎ContentHandler錛庯紟錛?
xr.setContentHandler( new SaxTest() );

// 瑙f瀽鏂囦歡錛庯紟錛?
xr.parse( new InputSource(
new FileReader( "exampleA.xml" )) );


}catch ( Exception e ) {
e.printStackTrace();
}

}

}
聽褰撳墠SAX API鏈変袱涓増鏈傜浜岀増涓殑綾誨悕鍜屾柟娉曞悕涓庣涓鐗堥兘鏈夊嚭鍏ワ紝浣嗘槸浠g爜鐨勭粨鏋勬槸涓鏍風殑銆?br />聽聽聽 SAX鏄竴濂桝PI錛屽畠涓嶆槸涓涓В鏋愬櫒錛屾墍浠ヨ繖涓唬鐮佸湪XML瑙f瀽鍣ㄤ腑鏄氱敤鐨勩傝璁╃ず渚嬭窇璧鋒潵錛屼綘灝嗛渶瑕佷竴涓敮鎸丼AX v2鐨刋ML瑙f瀽鍣ㄣ傛垜鐢ˋpache鐨刋erces瑙f瀽鍣?浠g爜濡備笅
// 寤虹珛SAX 2瑙f瀽鍣紟錛庯紟
XMLReader xr = XMLReaderFactory.createXMLReader("org.apache.xerces.parsers.SAXParser");

// 瀹夎ContentHandler錛庯紟錛?
xr.setContentHandler( new SaxTest() );
SAX API 鐨勮鏄庝功閫氫織鏄撹銆傚畠鍖呭惈浜嗗緢澶氱殑璇︾粏鍐呭銆傝屼嬌鐢⊿AX API鐨勪富瑕佷換鍔″氨鏄垱寤轟竴涓疄鐜癈ontentHandler鎺ュ彛錛屼竴涓緵XML 瑙f瀽鍣ㄨ皟鐢ㄤ互灝嗗垎鏋怷ML鏂囨。鏃舵墍鍙戠敓鐨凷AX浜嬩歡鍒嗗彂緇欏鐞嗙▼搴忕殑鍥炶皟鎺ュ彛銆?

鏂逛究璧瘋錛孲AX API涔熸彁渚涗簡涓涓凡緇忓疄鐜頒簡ContentHandler鎺ュ彛鐨凞efaultHandler閫傞厤鍣ㄧ被銆?

涓浣嗗疄鐜頒簡ContentHandler鎴栬呮墿灞曚簡DefaultHandler綾伙紝浣犲彧闇鐩存帴灝哫ML瑙f瀽鍣ㄨВ鏋愪竴涓壒瀹氱殑鏂囨。鍗沖彲銆?

鎴戜滑鐨勭涓涓緥瀛愭墿灞旸efaultHandler灝嗘瘡涓猄AX浜嬩歡鎵撳嵃鍒版帶鍒跺彴銆傝繖灝嗙粰浣犱竴涓垵姝ョ殑鏄犺薄錛屼互璇存槑浠涔圫AX浜嬩歡灝嗕細鍙戠敓鍙婁互鎬庢牱鐨勯『搴忓彂鐢熴?



]]>
嫻呰皥staxhttp://www.tkk7.com/songfei/articles/53294.html澶╁椋炰粰澶╁椋炰粰Fri, 16 Jun 2006 06:21:00 GMThttp://www.tkk7.com/songfei/articles/53294.htmlhttp://www.tkk7.com/songfei/comments/53294.htmlhttp://www.tkk7.com/songfei/articles/53294.html#Feedback0http://www.tkk7.com/songfei/comments/commentRss/53294.htmlhttp://www.tkk7.com/songfei/services/trackbacks/53294.html stax(simple stream api for xml)浣滀負jsr宸茬粡鍑虹幇鍑犲勾鏃墮棿浜嗭紝鍙兘涓嶅sax,dom(鍙婂叾浠栧熀浜庡叾涓婄殑宸ュ叿鍖呮瘮濡俲dom,jaxp,etc)涓轟紬浜烘墍鐭ャ傚彲鑳戒篃鏄洜涓烘渶榪憍fire鐨勭伀鐑?瀵艱嚧瀹冪殑鐭ュ悕搴︽湁鎵鎻愬崌鍚с傦紙棰?澶栬瘽錛屽ソ璞℃湁涓嶅皯鐭ヨ瘑鐐逛竴鐩撮兘鏄粯榛樻棤闂葷殑錛屽彧鏈夐殢鐫鏌愰」鎶鏈殑嫻佽鎵嶇獊鐒跺彉鐨勪負浜烘墍鐭ラ亾浜嗭紝姣斿ThreadLocal鏈潵鎴戜滑涓鐩存病鏈夋帴瑙︼紝寰堝浜哄彲鑳戒竴鐩撮兘涓嶇煡閬撳畠鐨勫瓨鍦紝浣嗛殢鐫瀹冨湪spring ,hibernate榪欎簺嫻佽鐨勬妧鏈噷鐨勭伒宸х殑搴旂敤錛屼竴涓嬪瓙灝辮寰堝浜鴻皥鍙婂強搴旂敤浜嗐傚彲瑙佹垜浠殑姘村鉤榪樻槸灞炰簬璺熷湪鑰佸灞佽偂鍚庨潰璺戠殑姘村鉤錛夈?br />閫氳繃鍜宒om,sax榪欎袱縐嶅ぇ瀹剁啛鐭ョ殑xml瑙f瀽鏂瑰紡鐨勬瘮杈冿紝鍙互瀹規(guī)槗鐨勭湅鍑哄畠鐨勭壒鐐廣?br />dom閫氳繃鎶婃暣涓猼ree 鏂囨。璇誨叆鍐呭瓨榪涜鎿嶄綔錛屽彲浠ラ殢鎰忓鏂囨。榪涜鎿嶄綔錛岄潪甯哥伒媧匯備絾緙虹偣鏄鍐呭瓨鐨勮祫婧愯楄垂姣旇緝澶с?br />sax涓嶅悓浜巇om鎶婃暣涓枃妗h鍏ュ唴瀛樼殑鏂瑰紡錛屽畠鏄洿鎺ュ xml鏂囦歡榪涜鎿嶄綔銆傞熷害蹇紝鍩烘湰涓婁笉鍗犵敤浠涔堝唴瀛樿祫婧愩傜己鐐圭湅鐪嬪畠鐨勫悕瀛楀氨鐭ラ亾浜?simple api for xml),鍩轟簬event鐨勬柟寮忥紙榪欑偣鍜宻tax綾諱技錛夛紝浣嗘槸鏄氳繃callback鐨勬柟寮忔妸瀵箈ml鐨勯亶鍘嗘潈浜ょ粰sax parser浜嗐傝繖鏍峰鑷存垜浠笉鑳界伒媧繪帶鍒跺xml鏂囦歡鐨勮闂?br />
stax閫氳繃stream鐨勬柟寮忔潵瑙e喅sax,dom鍚勮嚜鐨勭己鐐癸紝鍚屾椂鍏鋒湁浠栦滑澶ч儴鍒嗙殑浼樼偣錛堟垜鎯沖簳灞傚疄鐜版槸涓嶆槸閫氳繃鐩存帴鎿嶄綔鏂囦歡嫻佺殑鏂瑰紡錛岃繕娌℃湁鐪嬪畠鐨勫疄鐜扮殑src錛屼笉鏁貢璇達級銆俿tax涓昏鏈変袱涓矑搴︿笉鍚岀殑鎿嶄綔鏂瑰紡 錛屼竴縐嶅熀浜巈vent, 鍙︿竴縐嶆洿搴曞眰鐨勫疄鐜板熀浜巆ursor銆傚垵涓鐪嬪疄鐜版柟寮忔湁鐐硅薄sax,鍥犱負閮芥槸鍩轟簬event鐨勩備絾鏄痵ax鎶婅闂帶鍒舵潈浜ょ粰parser(閫氳繃callback))浜嗭紝鎴戜滑寰堥毦鎺у埗iterat榪囩▼銆俿tax鍏佽鎴戜滑鑷繁鎺у埗iterat.
鎵浠tax鐨勪紭鐐瑰涓嬶細鍩轟簬stream鐨勬柟寮忥紝涓嶈薄dom鑰楄垂鍐呭瓨璧勬簮銆傚張鍙互鑷繁鎺у埗瀵箈ml鐨刬terat錛屼笉璞ax鎶婃帶鍒舵潈浜ょ粰parser).榪樻湁涓涓紭鐐瑰氨鏄彲浠ュ湪iterat鐨勮繃紼嬩腑闅忔椂cancel銆傝櫧鐒秙ax 涔熷彲浠ラ氳繃 throw saxexception鐨勬柟寮忎腑鏂璱terat榪囩▼錛屼絾姣曠珶涓嶆槸涓涓紭緹庣殑瑙e喅鏂規(guī)銆傚綋鐒秙tax鐨勮繕鎻愪緵浜嗕互stream鐨勬柟寮忚繘琛寃rite xml鐨勬搷浣溿?br />
?鍏蜂綋鐨剆tax搴旂敤鍙互鐪媔bm鐨勭郴鍒楁暀紼嬫枃绔狅紝姣旇緝鑰佷簡浜嗙偣銆俬ttp://www-128.ibm.com/developerworks/xml/library/x-tipstx/

鍏蜂綋瀹炵幇錛岄櫎浜哹ea鐨勪竴涓猺i瀹炵幇澶栵紝涓嶇煡閬撹繕鏈夊叾浠栫殑瀹炵幇娌℃湁錛坰tax jsr濂借薄鏈鏃╃敱bea鎻愬嚭鏉ワ級錛?br />
涓漢鎰熻stax鐨勫簲鐢ㄨ繕鏄湁浜涢夯鐑︼紝鏈熷緟錛堟垨鍒欐槸涓嶆槸宸茬粡鏈変簡錛燂級鑳芥湁鏇撮珮灞傛鐨勫皝瑁咃紙綾諱技浜巎dom,jaxp瀹炵幇涔嬬被鐨勶級銆?br />


]]>
java鎿嶄綔XMLhttp://www.tkk7.com/songfei/articles/36346.html澶╁椋炰粰澶╁椋炰粰Mon, 20 Mar 2006 07:57:00 GMThttp://www.tkk7.com/songfei/articles/36346.htmlhttp://www.tkk7.com/songfei/comments/36346.htmlhttp://www.tkk7.com/songfei/articles/36346.html#Feedback0http://www.tkk7.com/songfei/comments/commentRss/36346.htmlhttp://www.tkk7.com/songfei/services/trackbacks/36346.htmlpackage jp.co.nec.ome.utility.xml;

import java.io.*;
import javax.xml.parsers.*;

import org.w3c.dom.*;
import org.xml.sax.*;

//*****************************************************************************
/**
聽* XML鏂囨浉鍒嗘瀽銈儵銈廣仹銇欍?lt;BR>
聽* XML銇榪般仌銈屻仸銇勩倠瀹氱京銈掑垎鏋愩仐銆佸瓙瑕佺礌銈勫瓙瑕佺礌銇唴瀹廣伄鍙栨壉銈掑鏄撱伀銇欍倠
聽* 銉︺兗銉嗐偅銉儐銈c偗銉┿偣銇с仚銆?br />聽* <P>
聽* @author聽 Hisaya Saito
聽* @version $Revision:聽聽 5.2聽 $ $Date:聽聽 20 May 2005 10:24:55聽 $
聽* @since聽聽 OpenMeisterEnterprise/EF 3.2
聽*/
//*****************************************************************************
public class OmXMLAnalyzer {

聽 //***************************************************************************
聽 //銈熾兂銈廣儓銉┿偗銈?br />聽 //***************************************************************************

聽 //***************************************************************************
聽 /**
聽聽 * private銇偝銉熾偣銉堛儵銈偪銇с仚銆?lt;BR>
聽聽 * 銈廣偪銉嗐偅銉冦偗銉°偨銉冦儔銇伩銇埄鐢ㄣ仺銇椼併偆銉熾偣銈褲兂銈瑰寲銇笉璦卞彲銇ㄣ仐銇俱仚銆?br />聽聽 */
聽 //***************************************************************************
聽 private OmXMLAnalyzer() {
聽 }

聽 //***************************************************************************
聽 //public銉°偨銉冦儔
聽 //***************************************************************************

聽 //***************************************************************************
聽 /**
聽聽 * XML銉曘偂銈ゃ儷銉戙偣銇枃瀛楀垪銇嬨倝XML鏂囨浉銇儷銉箋儓瑕佺礌銈掑彇寰椼仐銇俱仚銆?br />聽聽 * @param聽 argFilePath XML銉曘偂銈ゃ儷銉戙偣
聽聽 * @return 銉兗銉堣绱?br />聽聽 * @exception FileNotFoundException 浣曘倝銇嬨伄鐞嗙敱銇с儠銈°偆銉倰闁嬨亸銇撱仺銇屻仹銇嶃仾銇勫牬鍚?br />聽聽 * @exception ParserConfigurationException 瑕佹眰銇曘倢銇熸鎴愩倰婧銇熴仚DocumentBuilder銈掔敓鎴愩仹銇嶃仾銇勫牬鍚?br />聽聽 * @exception SAXException 妲嬫枃瑙f瀽銈ㄣ儵銉箋亴鐧虹敓銇椼仧鍫村悎
聽聽 * @exception IOException 鍏ュ嚭鍔涖偍銉┿兗銇岀櫤鐢熴仐銇熷牬鍚?br />聽聽 */
聽 //***************************************************************************
聽 public static Element getRootElement(String argFilePath)
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 throws FileNotFoundException,
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 ParserConfigurationException,
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 SAXException,
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 IOException {

聽聽聽 Element rootElement = null;

聽聽聽 //XML鏂囨浉瑙i噲銇仧銈併伄Parser銇綔鎴?br />聽聽聽 File defineFile = new File(argFilePath);
聽聽聽 InputStream inputStream = new FileInputStream(defineFile);
聽聽聽 try {
聽聽聽聽聽 DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
聽聽聽聽聽 DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
聽聽聽聽聽 Document document = documentBuilder.parse(inputStream);

聽聽聽聽聽 //XML鏂囨浉銇儎銉兗銇渶涓婁綅銇绱爎oot銈掑彇寰椼仐銇俱仚銆?br />聽聽聽聽聽 rootElement = document.getDocumentElement();
聽聽聽 } finally {
聽聽聽聽聽 inputStream.close();
聽聽聽 }
聽聽聽 return rootElement;
聽 }

聽 //***************************************************************************
聽 /**
聽聽 * 鍏ュ姏銈廣儓銉兗銉犮亱銈塜ML鏂囨浉銇儷銉箋儓瑕佺礌銈掑彇寰椼仐銇俱仚銆?br />聽聽 * @param聽 argInputStream
聽聽 * @return 銉兗銉堣绱?br />聽聽 * @exception FileNotFoundException 浣曘倝銇嬨伄鐞嗙敱銇с儠銈°偆銉倰闁嬨亸銇撱仺銇屻仹銇嶃仾銇勫牬鍚?br />聽聽 * @exception ParserConfigurationException 瑕佹眰銇曘倢銇熸鎴愩倰婧銇熴仚DocumentBuilder銈掔敓鎴愩仹銇嶃仾銇勫牬鍚?br />聽聽 * @exception SAXException 妲嬫枃瑙f瀽銈ㄣ儵銉箋亴鐧虹敓銇椼仧鍫村悎
聽聽 * @exception IOException 鍏ュ嚭鍔涖偍銉┿兗銇岀櫤鐢熴仐銇熷牬鍚?br />聽聽 */
聽 //***************************************************************************
聽 public static Element getRootElement(InputStream argInputStream)
聽聽聽聽聽 throws FileNotFoundException,
聽聽聽聽聽聽聽聽聽聽聽聽 ParserConfigurationException,
聽聽聽聽聽聽聽聽聽聽聽聽 SAXException,
聽聽聽聽聽聽聽聽聽聽聽聽 IOException {

聽聽聽 Element rootElement = null;

聽聽聽 //XML鏂囨浉瑙i噲銇仧銈併伄Parser銇綔鎴?br />聽聽聽 try {
聽聽聽聽聽 DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
聽聽聽聽聽 DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
聽聽聽聽聽 Document document = documentBuilder.parse(argInputStream);

聽聽聽聽聽 //XML鏂囨浉銇儎銉兗銇渶涓婁綅銇绱爎oot銈掑彇寰椼仐銇俱仚銆?br />聽聽聽聽聽 rootElement = document.getDocumentElement();
聽聽聽 } finally {
聽聽聽聽聽 argInputStream.close();
聽聽聽 }
聽聽聽 return rootElement;
聽 }

聽 //***************************************************************************
聽 /**
聽聽 * 鎸囧畾銇椼仧瑕绱犮伄涓仹鏈鍒濄伄瀛愯绱犮倰鍙栧緱銇椼伨銇欍?br />聽聽 * @param聽 argParentElement聽聽聽 瑕绱?br />聽聽 * @param聽 argChildElementName 瀛愯绱犲悕
聽聽 * @return 鏈鍒濄伀鍙栧緱銇с亶銇熷瓙瑕佺礌
聽聽 */
聽 //***************************************************************************
聽 public static Element getChildElement(Element argParentElement,
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 String argChildElementName) {
聽聽聽 return getChildElement(argParentElement, argChildElementName, 0);
聽 }

聽 //***************************************************************************
聽 /**
聽聽 * 鎸囧畾銇椼仧瑕绱犮伄涓伄鎸囧畾銇椼仧闋嗙暘銇瓙瑕佺礌銈掑彇寰椼仐銇俱仚銆?br />聽聽 * @param聽 argParentElement聽聽聽聽聽聽 瑕绱?br />聽聽 * @param聽 argChildElementName聽聽聽聽聽聽聽聽 瀛愯绱犲悕
聽聽 * @param聽 argSpecificationNumber 闋嗙暘
聽聽 * @return 鎸囧畾銇椼仧闋嗙暘銇瓙瑕佺礌
聽聽 */
聽 //***************************************************************************
聽 public static Element getChildElement(Element argParentElement,
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 String argChildElementName,
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 int argSpecificationNumber) {
聽聽聽 NodeList childNodeList =
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 argParentElement.getElementsByTagName(argChildElementName);
聽聽聽 return (Element)childNodeList.item(argSpecificationNumber);
聽 }

聽 //***************************************************************************
聽 /**
聽聽 * 鎸囧畾銇椼仧瑕绱犮伄涓伄鍏ㄣ仸銇瓙瑕佺礌銈掗厤鍒椼仹鍙栧緱銇椼伨銇欍?br />聽聽 * @param聽 argParentElement聽聽聽聽聽聽 瑕绱?br />聽聽 * @param聽 argChildElementName聽聽聽 瀛愯绱犲悕
聽聽 * @return 瀛愯绱犮伄閰嶅垪
聽聽 */
聽 //***************************************************************************
聽 public static Element[] getChildElementList(Element argParentElement,
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 String argChildElementName) {
聽聽聽 NodeList childNodeList =
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 argParentElement.getElementsByTagName(argChildElementName);
聽聽聽 int listCount = childNodeList.getLength();
聽聽聽 if(listCount == 0) {
聽聽聽聽聽 return null;
聽聽聽 }
聽聽聽 Element[] childElementList = new Element[listCount];
聽聽聽 for (int i0 = 0; i0 < listCount; i0++) {
聽聽聽聽聽 childElementList[i0] = (Element)childNodeList.item(i0);
聽聽聽 }
聽聽聽 return childElementList;
聽 }

聽 //***************************************************************************
聽 /**
聽聽 * 鎸囧畾銇椼仧瑕佺礌銇腑銇ф寚瀹氥仚銈嬪睘鎬с伄鍊ゃ亴璦畾銇曘倢銇︺亜銈嬪瓙瑕佺礌銈掑彇寰椼仐銇俱仚銆?br />聽聽 * @param聽 argParentElement聽聽聽 瑕绱?br />聽聽 * @param聽 argChildElementName 瀛愯绱犲悕
聽聽 * @param聽 argAttributeName聽聽聽 灞炴у悕
聽聽 * @param聽 argAttributeValue聽聽 灞炴с伄鍊?br />聽聽 * @return 鎸囧畾銇欍倠灞炴с伄鍊ゃ亴璦畾銇曘倢銇︺亜銈嬪瓙瑕佺礌銇ф渶鍒濄伀鍙栧緱銇с亶銇熴倐銇?br />聽聽 */
聽 //***************************************************************************
聽 public static Element getChildElement(Element argParentElement,
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 String argChildElementName,
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 String argAttributeName,
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 String argAttributeValue) {

聽聽聽 NodeList childNodeList = argParentElement.getElementsByTagName(argChildElementName);
聽聽聽 int listLength = childNodeList.getLength();
聽聽聽 if(listLength == 0) {
聽聽聽聽聽 return null;
聽聽聽 }
聽聽聽 Element childElement = null;
聽聽聽 for (int i0 = 0; i0 < listLength; i0++) {
聽聽聽聽聽 Element localChildElement = (Element)childNodeList.item(i0);
聽聽聽聽聽 String attributeValue = localChildElement.getAttribute(argAttributeName);
聽聽聽聽聽 if (attributeValue.equals(argAttributeValue)) {
聽聽聽聽聽聽聽 childElement = localChildElement;
聽聽聽聽聽聽聽 break;
聽聽聽聽聽 }
聽聽聽 }

聽聽聽 return childElement;
聽 }

聽 //***************************************************************************
聽 /**
聽聽 * 鎸囧畾銇椼仧瑕佺礌銇唴瀹廣倰鍙栧緱銇椼伨銇欍?br />聽聽 * @param聽 argElement 鍐呭銈掑彇寰椼仐銇熴亜瑕佺礌
聽聽 * @return 鍐呭
聽聽 */
聽 //***************************************************************************
聽 public static String getElementContents(Element argElement) {
聽聽聽 if(argElement != null) {
聽聽聽聽聽 Text text = (Text)argElement.getFirstChild();
聽聽聽聽聽 if(text == null) {
聽聽聽聽聽聽聽 return null;
聽聽聽聽聽 }
聽聽聽聽聽 return text.getNodeValue();
聽聽聽 } else {
聽聽聽聽聽 return null;
聽聽聽 }
聽 }

聽 //***************************************************************************
聽 /**
聽聽 * 鎸囧畾銇椼仧瑕绱犮伄涓仹鏈鍒濄伄瀛愯绱犮伄鍐呭銈掑彇寰椼仐銇俱仚銆?br />聽聽 * @param聽 argParentElement 瑕绱?br />聽聽 * @param聽 argChildElementName聽 鍐呭銈掑彇寰椼仐銇熴亜瀛愯绱犲悕
聽聽 * @return 鍐呭
聽聽 */
聽 //***************************************************************************
聽 public static String getChildElementContents(Element argParentElement,
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 String argChildElementName) {

聽聽聽 Element childElement = getChildElement(argParentElement,
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 argChildElementName);
聽聽聽 return getElementContents(childElement);
聽 }

聽 //***************************************************************************
聽 /**
聽聽 * 鎸囧畾銇椼仧瑕绱犮伄涓仹鎸囧畾銇欍倠灞炴с伄鍊ゃ亴璦畾銇曘倢銇︺亜銈嬪瓙瑕佺礌銇唴瀹廣倰鍙栧緱銇椼伨銇欍?br />聽聽 * @param聽 argParentElement聽聽聽 瑕绱?br />聽聽 * @param聽 argChildElementName 鍐呭銈掑彇寰椼仐銇熴亜瀛愯绱犲悕
聽聽 * @param聽 argAttributeName聽聽聽 灞炴у悕
聽聽 * @param聽 argAttributeValue聽聽 灞炴с伄鍊?br />聽聽 * @return 鍐呭
聽聽 */
聽 //***************************************************************************
聽 public static String getChildElementContents(Element argParentElement,
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 String argChildElementName,
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 String argAttributeName,
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 String argAttributeValue) {

聽聽聽 Element childElement = getChildElement(argParentElement,
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 argChildElementName,
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 argAttributeName,
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 argAttributeValue);
聽聽聽 return getElementContents(childElement);
聽 }

聽 //***************************************************************************
聽 /**
聽聽 * 鎸囧畾銇椼仧瑕绱犮伄涓仹鏈鍒濄伄瀛愯绱犮伄灞炴с伄鍊ゃ倰鍙栧緱銇椼伨銇欍?br />聽聽 * @param聽 argParentElement聽聽聽 瑕绱?br />聽聽 * @param聽 argChildElementName 瀛愯绱犲悕
聽聽 * @param聽 argAttributeName聽聽聽 灞炴у悕
聽聽 * @return 灞炴с伄鍊?br />聽聽 */
聽 //***************************************************************************
聽 public static String getAttributeValue(Element argParentElement,
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 String argChildElementName,
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 String argAttributeName) {
聽聽聽 return getAttributeValue(argParentElement, argChildElementName, 0, argAttributeName);
聽 }

聽 //***************************************************************************
聽 /**
聽聽 * 鎸囧畾銇椼仧瑕绱犮伄涓仹鎸囧畾銇椼仧闋嗙暘銇瓙瑕佺礌銇睘鎬с伄鍊ゃ倰鍙栧緱銇椼伨銇欍?br />聽聽 * @param聽 argParentElement聽聽聽聽聽聽 瑕绱?br />聽聽 * @param聽 argChildElementName聽聽聽 瀛愯绱犲悕
聽聽 * @param聽 argSpecificationNumber 闋嗙暘
聽聽 * @param聽 argAttributeName聽聽聽聽聽聽 灞炴у悕
聽聽 * @return 灞炴с伄鍊?br />聽聽 */
聽 //***************************************************************************
聽 public static String getAttributeValue(Element argParentElement,
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 String argChildElementName,
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 int argSpecificationNumber,
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 String argAttributeName) {
聽聽聽 Element childElement = getChildElement(argParentElement,
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 argChildElementName,
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 argSpecificationNumber);
聽聽聽 return childElement.getAttribute(argAttributeName);
聽 }
}



]]>
主站蜘蛛池模板: 亚洲图片在线观看| 又黄又爽的视频免费看| 亚洲精品视频免费在线观看| 久久精品免费视频观看| 久久久久久久99精品免费观看| 国产精品无码永久免费888| 久久国产福利免费| 鲁丝片一区二区三区免费| 七色永久性tv网站免费看| 午夜影院免费观看| 永久看日本大片免费35分钟| 久久免费看黄a级毛片| 国产成人免费网站| 日韩精品视频免费网址| 俄罗斯极品美女毛片免费播放| 亚洲日本中文字幕一区二区三区| 亚洲情a成黄在线观看| 亚洲国产精品无码中文字| 亚洲欧洲日韩不卡| 国产精品亚洲精品观看不卡| 亚洲精品无码你懂的| 黄色大片免费网站| 成人性生交大片免费看中文| 免费无码成人AV在线播放不卡| 永久免费在线观看视频| 四虎成人免费网址在线| 亚洲片一区二区三区| 亚洲天天做日日做天天看| 亚洲 欧洲 视频 伦小说| 男女超爽视频免费播放| 两个人看www免费视频| 国产免费一区二区三区| 永久久久免费浮力影院| 国产人妖ts在线观看免费视频| 国产成人毛片亚洲精品| 亚洲成a人片77777群色| 国产精品亚洲精品久久精品| 99免费精品视频| 97视频热人人精品免费| 久久精品亚洲男人的天堂| 97se亚洲综合在线|