亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

用DOM4J解析XML文件如何解析出其中的注釋行

57b6c8910001546805000294.jpg

57b6c891000133f804550297.jpg

如何修改以上的代碼,從而能夠解析出注釋行??

正在回答

2 回答

首先,代碼是從百度貼的,簡單說下,這里如果要解析注釋的話,就不能用迭代器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);
???????????????????????}
???????????????????}


0 回復 有任何疑惑可以回復我~
#1

慕粉3833463 提問者

按照您說的改了下,Node node = root.node(i);這一行代碼出現錯誤,其錯誤是:Multiple markers at this line - Node cannot be resolved to a type - Line breakpoint:DOM4JTest [line: 22] - 這個是什么意思啊 應該怎么該啊
2016-08-22 回復 有任何疑惑可以回復我~
#2

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;
2016-08-22 回復 有任何疑惑可以回復我~
#3

pwy2012 回復 慕粉3833463 提問者

回復有字數限制 代碼我貼二樓了
2016-08-22 回復 有任何疑惑可以回復我~
#4

慕粉3833463 提問者

非常感謝!
2016-08-22 回復 有任何疑惑可以回復我~
查看1條回復

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!");
?????????????? }
?????????? }
?? ?}
}

0 回復 有任何疑惑可以回復我~
#1

慕粉3833463 提問者

運行結果為: This is a Nothing! This is a Element! This is a Nothing! This is a Element! ........... 不是我要的解析結果啊
2016-08-22 回復 有任何疑惑可以回復我~
#2

慕粉3833463 提問者 回復 pwy2012

那謝謝啦 875767445
2016-08-22 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Java眼中的XML---文件讀取
  • 參與學習       83199    人
  • 解答問題       447    個

通過Java認識并且創造XML文件,如何應用 Java“解析 XML

進入課程

用DOM4J解析XML文件如何解析出其中的注釋行

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號