锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲欧洲一区二区三区,亚洲一卡2卡4卡5卡6卡在线99,亚洲一本之道高清乱码http://www.tkk7.com/mlzry0612/category/22491.html鑷ぇ鐨勪漢鍙兂鐫鎬庝箞鎶婇潰瀛愪繚浣忥紝鑷己鐨勪漢鍙兂鐫鎬庝箞鎶婁簨鍔炲ソ錛?/description>zh-cnWed, 16 May 2007 10:37:51 GMTWed, 16 May 2007 10:37:51 GMT60XMLhttp://www.tkk7.com/mlzry0612/articles/117900.htmlDanielDanielWed, 16 May 2007 09:52:00 GMThttp://www.tkk7.com/mlzry0612/articles/117900.htmlhttp://www.tkk7.com/mlzry0612/comments/117900.htmlhttp://www.tkk7.com/mlzry0612/articles/117900.html#Feedback0http://www.tkk7.com/mlzry0612/comments/commentRss/117900.htmlhttp://www.tkk7.com/mlzry0612/services/trackbacks/117900.htmldom4j錛圴ersion 1.6.1錛夊揩閫熷叆闂?/h3>
 

Parsing XML

鎴栬浣犳兂瑕佸仛鐨勭涓浠朵簨鎯呭氨鏄В鏋愪竴涓煇縐嶇被鍨嬬殑XML鏂囨。錛岀敤dom4j寰堝鏄撳仛鍒般傝鐪嬩笅闈㈢殑紺鴻寖浠g爜錛?/p>

import java.net.URL;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.io.SAXReader;

public class Foo {

public Document parse(URL url) throws DocumentException {
SAXReader reader = new SAXReader();
Document document = reader.read(url);
return document;
}
}

浣跨敤榪唬鍣紙Iterators錛?/p>

鎴戜滑鍙互閫氳繃澶氱鏂規硶鏉ユ搷浣淴ML鏂囨。錛岃繖浜涙柟娉曡繑鍥瀓ava閲屾爣鍑嗙殑榪唬鍣紙Iterators錛夈備緥濡傦細

public void bar(Document document) throws DocumentException {
Element root = document.getRootElement();
//榪唬鏍瑰厓绱犱笅闈㈢殑鎵鏈夊瓙鍏冪礌
for ( Iterator i = root.elementIterator(); i.hasNext(); ) {
Element element = (Element) i.next();
//澶勭悊浠g爜
}

//榪唬鏍瑰厓绱犱笅闈㈠悕縐頒負"foo"鐨勫瓙鍏冪礌
for ( Iterator i = root.elementIterator( "foo" ); i.hasNext(); ) {
Element foo = (Element) i.next();
//澶勭悊浠g爜
}

// 榪唬鏍瑰厓绱犵殑灞炴ttributes錛夊厓绱?br>for ( Iterator i = root.attributeIterator(); i.hasNext(); ) {
Attribute attribute = (Attribute) i.next();
// do something
}
}

寮哄ぇ鐨刋Path瀵艱埅

鍦╠om4j涓璛Path鍙互琛ㄧず鍑哄湪XML鏍戠姸緇撴瀯涓殑Document鎴栬呬換鎰忕殑鑺傜偣錛圢ode錛夛紙渚嬪錛欰ttribute錛孍lement 鎴栬?ProcessingInstruction絳夛級銆傚畠鍙互浣垮湪鏂囨。涓鏉傜殑鎿嶄綔浠呴氳繃涓琛屼唬鐮佸氨鍙互瀹屾垚銆備緥濡傦細

public void bar(Document document) {
List list = document.selectNodes( "http://foo/bar" );

Node node = document.selectSingleNode( "http://foo/bar/author" );

String name = node.valueOf( "@name" );
}

濡傛灉浣犳兂寰楀埌涓涓猉HTML鏂囨。涓殑鎵鏈夎秴鏂囨湰閾炬帴錛坔ypertext links錛変綘鍙互浣跨敤涓嬮潰鐨勪唬鐮侊細

public void findLinks(Document document) throws DocumentException {

List list = document.selectNodes( "http://a/@href" );

for (Iterator iter = list.iterator(); iter.hasNext(); ) {
Attribute attribute = (Attribute) iter.next();
String url = attribute.getValue();
}
}

濡傛灉浣犻渶瑕佸叧浜嶺Path璇█鐨勪換浣曞府鍔╋紝鎴戜滑寮虹儓鎺ㄨ崘榪欎釜绔欑偣Zvon tutorial浠栦細閫氳繃涓涓竴涓殑渚嬪瓙寮曞浣犲涔犮?/p>

蹇熼亶鍘嗭紙Fast Looping錛?/p>


濡傛灉浣犱笉寰椾笉閬嶅巻涓涓潪甯稿ぇ鐨刋ML鏂囨。錛岀劧鍚庢墠鍘繪墽琛岋紝鎴戜滑寤鴻浣犱嬌鐢ㄥ揩閫熼亶鍘嗘柟娉曪紙fast looping method錛夛紝瀹冨彲浠ラ伩鍏嶄負姣忎竴涓驚鐜殑鑺傜偣鍒涘緩涓涓凱浠e櫒瀵硅薄,濡備笅鎵紺猴細

public void treeWalk(Document document) {
treeWalk( document.getRootElement() );
}

public void treeWalk(Element element) {
for ( int i = 0, size = element.nodeCount(); i < size; i++ ) {
Node node = element.node(i);
if ( node instanceof Element ) {
treeWalk( (Element) node );
}
else {
// do something....
}
}
}

鐢熸垚涓涓柊鐨刋ML鏂囨。瀵硅薄

鍦╠om4j涓綘鍙兘甯稿父甯屾湜鐢ㄧ▼搴忕敓鎴愪竴涓猉ML鏂囨。瀵硅薄錛屼笅闈㈢殑紼嬪簭涓轟綘榪涜浜嗙ず鑼冿細

import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;

public class Foo {

public Document createDocument() {
Document document = DocumentHelper.createDocument();
Element root = document.addElement( "root" );

Element author1 = root.addElement( "author" )
.addAttribute( "name", "James" )
.addAttribute( "location", "UK" )
.addText( "James Strachan" );

Element author2 = root.addElement( "author" )
.addAttribute( "name", "Bob" )
.addAttribute( "location", "US" )
.addText( "Bob McWhirter" );

return document;
}
}

灝嗕竴涓枃妗e璞″啓鍏ユ枃浠朵腑

灝嗕竴涓枃妗e璞″啓鍏riter瀵硅薄鐨勪竴涓畝鍗曞揩閫熺殑閫斿緞鏄氳繃write()鏂規硶銆?/p>

FileWriter out = new FileWriter( "foo.xml" );
document.write( out );

濡傛灉浣犳兂鏀瑰彉杈撳嚭鏂囦歡鐨勬帓鐗堟牸寮忥紝姣斿浣犳兂瑕佷竴涓紓浜殑鏍煎紡鎴栬呮槸涓涓揣鍑戠殑鏍煎紡錛屾垨鑰呬綘鎯崇敤Writer 瀵硅薄鎴栬匫utputStream 瀵硅薄鏉ユ搷浣滐紝閭d箞浣犲彲浠ヤ嬌鐢╔MLWriter 綾匯?/p>

import org.dom4j.Document;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;

public class Foo {

public void write(Document document) throws IOException {

// 鍐欏叆鏂囦歡
XMLWriter writer = new XMLWriter(
new FileWriter( "output.xml" )
);
writer.write( document );
writer.close();


// 浠ヤ竴縐嶄紭闆呯殑鏍煎紡鍐欏叆System.out瀵硅薄
OutputFormat format = OutputFormat.createPrettyPrint();
writer = new XMLWriter( System.out, format );
writer.write( document );

// 浠ヤ竴縐嶇揣鍑戠殑鏍煎紡鍐欏叆System.out瀵硅薄
format = OutputFormat.createCompactFormat();
writer = new XMLWriter( System.out, format );
writer.write( document );
}
}

杞寲涓哄瓧絎︿覆錛屾垨鑰呬粠瀛楃涓茶漿鍖?/p>

濡傛灉浣犳湁涓涓枃妗o紙Document錛夊璞℃垨鑰呬換浣曚竴涓妭鐐癸紙Node錛夊璞$殑寮曠敤錛坮eference錛夛紝璞″睘鎬э紙Attribute錛夋垨鑰呭厓绱狅紙Element錛夛紝浣犲彲浠ラ氳繃asXML()鏂規硶鎶婂畠杞寲涓轟竴涓粯璁ょ殑XML瀛楃涓詫細

Document document = ...;
String text = document.asXML();

濡傛灉浣犳湁涓浜沊ML鍐呭鐨勫瓧絎︿覆琛ㄧず錛屼綘鍙互閫氳繃DocumentHelper.parseText()鏂規硶灝嗗畠閲嶆柊杞寲涓烘枃妗o紙Document錛夊璞★細

String text = " James ";
Document document = DocumentHelper.parseText(text);

閫氳繃XSLT鏍峰紡鍖栨枃妗o紙Document錛?/p>


浣跨敤Sun鍏徃鎻愪緵鐨凧AXP API灝哫SLT 搴旂敤鍒版枃妗o紙Document錛変笂鏄緢綆鍗曠殑銆傚畠鍏佽浣犱嬌鐢ㄤ換浣曠殑XSLT寮曟搸錛堜緥濡傦細Xalan鎴朣AXON絳夛級鏉ュ紑鍙戙備笅闈㈡槸涓涓嬌鐢↗AXP鍒涘緩涓涓漿鍖栧櫒錛坱ransformer錛夛紝鐒跺悗灝嗗畠搴旂敤鍒版枃妗o紙Document錛変笂鐨勪緥瀛愶細

import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;

import org.dom4j.Document;
import org.dom4j.io.DocumentResult;
import org.dom4j.io.DocumentSource;

public class Foo {

public Document styleDocument(
Document document,
String stylesheet
) throws Exception {

// 浣跨敤 JAXP 鍔犺澆杞寲鍣?br>TransformerFactory factory = TransformerFactory.newInstance();
Transformer transformer = factory.newTransformer(
new StreamSource( stylesheet )
);

// 鐜板湪鏉ユ牱寮忓寲涓涓枃妗o紙Document錛?br>DocumentSource source = new DocumentSource( document );
DocumentResult result = new DocumentResult();
transformer.transform( source, result );

// 榪斿洖緇忚繃鏍峰紡鍖栫殑鏂囨。錛圖ocument錛?br>Document transformedDoc = result.getDocument();
return transformedDoc;
}
}



Daniel 2007-05-16 17:52 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 免费一区二区无码东京热| 337P日本欧洲亚洲大胆艺术图 | 精品国产麻豆免费网站| 亚洲av乱码一区二区三区| 国产大片线上免费观看| 亚洲一区二区三区在线| 成人啪精品视频免费网站| 99久久婷婷国产综合亚洲| 永久中文字幕免费视频网站| 久久久久久亚洲av无码蜜芽| 亚洲第一成人影院| 国产精品免费看久久久香蕉| 亚洲av永久无码制服河南实里| 久久国产高潮流白浆免费观看| 亚洲人成毛片线播放| 精品无码国产污污污免费| 一级一片免费视频播放| 亚洲AV无码久久精品成人| 久久久久久国产a免费观看黄色大片 | 暖暖免费日本在线中文| 亚洲午夜电影在线观看高清 | 永久免费视频v片www| 一级做a爰片久久毛片免费陪 | 日本亚洲免费无线码| 免费a级毛片无码a∨性按摩| 成年免费大片黄在线观看com| 国产亚洲精品a在线无码| 麻豆高清免费国产一区| 亚洲av中文无码乱人伦在线观看| 国产亚洲成归v人片在线观看| 91精品导航在线网址免费| 亚洲av无码偷拍在线观看| 亚洲日韩精品一区二区三区| 无码国产精品一区二区免费式影视| 亚洲av乱码一区二区三区按摩| 亚洲熟妇无码八AV在线播放| 国产免费久久精品99re丫y| 一进一出60分钟免费视频| 亚洲成aⅴ人片在线影院八| 亚洲福利精品电影在线观看| 99精品视频在线观看免费播放 |