課程
/后端開(kāi)發(fā)
/Java
/Java眼中的XML---文件讀取
如何修改以上的代碼,從而能夠解析出注釋行??
2016-08-19
源自:Java眼中的XML---文件讀取 4-7
正在回答
首先,代碼是從百度貼的,簡(jiǎn)單說(shuō)下,這里如果要解析注釋的話(huà),就不能用迭代器Iterator來(lái)迭代element了,從代碼可以看出,element只是node的接口之一,而注釋節(jié)點(diǎn)的繼承結(jié)構(gòu)里沒(méi)有element接口,需要使用如下的遍歷方式才能得到,原理大概是這樣,如有不明白的地方,歡迎追問(wèn)
Element root= doc.getRootElement();
for (int i = 0, size = root.nodeCount(); i < size; i++)?
???{???????????????????????Node node = root.node(i);???????????????????????if (node instanceof Element) {????????????????????????System.out.println("This is a Element!");????????????????????????prinContent(node);???????????????????????????System.out.println();???????????????????????} else if(node instanceof org.dom4j.Comment){????????????????????????System.out.println("This is a Comment!");????????????????????????prinContent(node);????????????????????????System.out.println();???????????????????????}else{????????????????????????System.out.println("This is a Nothing!");????????????????????????prinContent(node);???????????????????????}???????????????????}
慕粉3833463 提問(wèn)者
pwy2012 回復(fù) 慕粉3833463 提問(wèn)者
package com.pwy.xml.dom4j;import java.io.File;import org.dom4j.Document;import org.dom4j.Element;import org.dom4j.Node;import org.dom4j.io.SAXReader;public class Test {?? ?public static void main(String[] args) throws Exception {?? ??? ??? ??? ?SAXReader reader = new SAXReader();?? ??? ?Document document = reader.read(new File("src/com/pwy/xml/dom4j/books.xml"));?? ??? ?Element root= document.getRootElement();?? ??? ?for (int i = 0, size = root.nodeCount(); i < size; i++) ?? ??? ??? {?????????????? Node node = root.node(i);?????????????? if (node instanceof Element) {??????????????? System.out.println("This is a Element!");?????????????????? System.out.println();?????????????? } else if(node instanceof org.dom4j.Comment){??????????????? System.out.println("This is a Comment!");??????????????? System.out.println();?????????????? }else{??????????????? System.out.println("This is a Nothing!");?????????????? }?????????? }?? ?}}
慕粉3833463 提問(wèn)者 回復(fù) pwy2012
舉報(bào)
通過(guò)Java認(rèn)識(shí)并且創(chuàng)造XML文件,如何應(yīng)用 Java“解析 XML
2 回答DefaultHandler是如何解析XML文件的?
1 回答SAX解析xml
2 回答SAX解析xml
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購(gòu)課補(bǔ)貼聯(lián)系客服咨詢(xún)優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2016-08-20
首先,代碼是從百度貼的,簡(jiǎn)單說(shuō)下,這里如果要解析注釋的話(huà),就不能用迭代器Iterator來(lái)迭代element了,從代碼可以看出,element只是node的接口之一,而注釋節(jié)點(diǎn)的繼承結(jié)構(gòu)里沒(méi)有element接口,需要使用如下的遍歷方式才能得到,原理大概是這樣,如有不明白的地方,歡迎追問(wèn)
Element root= doc.getRootElement();
for (int i = 0, size = root.nodeCount(); i < size; i++)?
???{
???????????????????????Node node = root.node(i);
???????????????????????if (node instanceof Element) {
????????????????????????System.out.println("This is a Element!");
????????????????????????prinContent(node);
???????????????????????????System.out.println();
???????????????????????} else if(node instanceof org.dom4j.Comment){
????????????????????????System.out.println("This is a Comment!");
????????????????????????prinContent(node);
????????????????????????System.out.println();
???????????????????????}else{
????????????????????????System.out.println("This is a Nothing!");
????????????????????????prinContent(node);
???????????????????????}
???????????????????}
2016-08-22
package com.pwy.xml.dom4j;
import java.io.File;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.Node;
import org.dom4j.io.SAXReader;
public class Test {
?? ?public static void main(String[] args) throws Exception {
?? ??? ?
?? ??? ?SAXReader reader = new SAXReader();
?? ??? ?Document document = reader.read(new File("src/com/pwy/xml/dom4j/books.xml"));
?? ??? ?Element root= document.getRootElement();
?? ??? ?for (int i = 0, size = root.nodeCount(); i < size; i++)
?? ??? ??? {
?????????????? Node node = root.node(i);
?????????????? if (node instanceof Element) {
??????????????? System.out.println("This is a Element!");
?????????????????? System.out.println();
?????????????? } else if(node instanceof org.dom4j.Comment){
??????????????? System.out.println("This is a Comment!");
??????????????? System.out.println();
?????????????? }else{
??????????????? System.out.println("This is a Nothing!");
?????????????? }
?????????? }
?? ?}
}