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

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

求大神指出問題?

package xmldemo;


import java.io.IOException;


import javax.xml.parsers.DocumentBuilder;

import javax.xml.parsers.DocumentBuilderFactory;

import javax.xml.parsers.ParserConfigurationException;


import org.w3c.dom.Document;

import org.w3c.dom.NamedNodeMap;

import org.w3c.dom.Node;

import org.w3c.dom.NodeList;

import org.xml.sax.SAXException;


public class TestXml {


public static void main(String[] args) {

//創建一個DocumentBuilderFactory的對象

DocumentBuilderFactory dbf= DocumentBuilderFactory.newInstance();

Document document;

try {

DocumentBuilder db=dbf.newDocumentBuilder();

document = db.parse("books.xml");

NodeList booklist= ?document.getElementsByTagName("book");

for(int i =0;i<booklist.getLength();i++){

System.out.println("==========下面開始遍歷第"+(i+1)+"本書============");

Node book= booklist.item(i);

NamedNodeMap attrs=book.getAttributes();

for (int j = 0; j <attrs.getLength() ; j++) {

Node attr=attrs.item(j);

System.out.print("屬性名: "+attr.getNodeName());

System.out.println("----屬性值: "+attr.getNodeValue());

?

NodeList list=book.getChildNodes();

System.out.println("第"+(i+1)+"本書的"+"共有 "+list.getLength()+"個子節點 ");

?

for (int n = 0; n <list.getLength(); n++) {

Node node=list.item(j);

System.out.println(node.getNodeName());

}

}?

?

System.out.println("==========完成遍歷第"+(i+1)+"本書============");

}

} catch (ParserConfigurationException e) {

// TODO 自動生成的 catch 塊

e.printStackTrace();

} catch (SAXException e) {

// TODO 自動生成的 catch 塊

e.printStackTrace();

} catch (IOException e) {

// TODO 自動生成的 catch 塊

e.printStackTrace();

}


}


}



結果

==========下面開始遍歷第1本書============

屬性名: id----屬性值: 1

第1本書的共有 9個子節點?

#text

#text

#text

#text

#text

#text

#text

#text

#text

==========完成遍歷第1本書============

==========下面開始遍歷第2本書============

屬性名: id----屬性值: 2

第2本書的共有 9個子節點?

#text

#text

#text

#text

#text

#text

#text

#text

#text

==========完成遍歷第2本書============


正在回答

2 回答

樓上正解,你的循環變量寫錯了。

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

丑丶小亞

說了多少遍了,新手別復制代碼,手打好嗎?好嗎?好嗎?好吧,愛打不打。
2018-02-02 回復 有任何疑惑可以回復我~

第二個for循環里的“Node node=list.item(j);”寫錯了,把 j 改成 n

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

舉報

0/150
提交
取消

求大神指出問題?

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

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

幫助反饋 APP下載

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

公眾號

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