锘??xml version="1.0" encoding="utf-8" standalone="yes"?>在线观看av中文,久久蜜桃香蕉精品一区二区三区 ,久久这里只有精品一区二区http://www.aygfsteel.com/mlzry0612/category/22491.html鑷ぇ鐨勪漢鍙兂鐫鎬庝箞鎶婇潰瀛愪繚浣忥紝鑷己鐨勪漢鍙兂鐫鎬庝箞鎶婁簨鍔炲ソ錛?/description>zh-cnWed, 16 May 2007 10:37:51 GMTWed, 16 May 2007 10:37:51 GMT60XMLhttp://www.aygfsteel.com/mlzry0612/articles/117900.htmlDanielDanielWed, 16 May 2007 09:52:00 GMThttp://www.aygfsteel.com/mlzry0612/articles/117900.htmlhttp://www.aygfsteel.com/mlzry0612/comments/117900.htmlhttp://www.aygfsteel.com/mlzry0612/articles/117900.html#Feedback0http://www.aygfsteel.com/mlzry0612/comments/commentRss/117900.htmlhttp://www.aygfsteel.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 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 洮南市| 遂平县| 太湖县| 衡水市| 名山县| 民和| 茶陵县| 永定县| 株洲市| 邛崃市| 仁布县| 临武县| 汤原县| 玛纳斯县| 贡觉县| 中超| 西青区| 壶关县| 乐亭县| 扎兰屯市| 高碑店市| 民乐县| 临桂县| 乡城县| 嘉荫县| 拜泉县| 和顺县| 安塞县| 长葛市| 和龙市| 基隆市| 炎陵县| 牙克石市| 崇仁县| 英超| 固始县| 邵阳市| 崇左市| 平凉市| 黄大仙区| 景泰县|