課程
/后端開發
/Java
/Java眼中的XML---文件讀取
如何修改以上的代碼,從而能夠解析出注釋行??
2016-08-19
源自:Java眼中的XML---文件讀取 4-7
正在回答
首先,代碼是從百度貼的,簡單說下,這里如果要解析注釋的話,就不能用迭代器Iterator來迭代element了,從代碼可以看出,element只是node的接口之一,而注釋節點的繼承結構里沒有element接口,需要使用如下的遍歷方式才能得到,原理大概是這樣,如有不明白的地方,歡迎追問
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 提問者
pwy2012 回復 慕粉3833463 提問者
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 提問者 回復 pwy2012
舉報
通過Java認識并且創造XML文件,如何應用 Java“解析 XML
2 回答DefaultHandler是如何解析XML文件的?
2 回答SAX解析xml
1 回答SAX解析xml
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-08-20
首先,代碼是從百度貼的,簡單說下,這里如果要解析注釋的話,就不能用迭代器Iterator來迭代element了,從代碼可以看出,element只是node的接口之一,而注釋節點的繼承結構里沒有element接口,需要使用如下的遍歷方式才能得到,原理大概是這樣,如有不明白的地方,歡迎追問
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!");
?????????????? }
?????????? }
?? ?}
}