課程
/后端開發(fā)
/Java
/Java眼中的XML---文件讀取
大神幫看看啊
2017-06-02
源自:Java眼中的XML---文件讀取 2-3
正在回答
首先你得知道節(jié)點(diǎn)得類型。1.Element 節(jié)點(diǎn) 2. Text 節(jié)點(diǎn) 3.Attr 節(jié)點(diǎn)
其中代碼 cn節(jié)點(diǎn)集合下一共有9個(gè)子節(jié)點(diǎn),根據(jù)此xml,解析類型順序依此(空格或回車為#text類型)
(#text,Element,#text,Element,#text,Element,#text,Element,#text)
“cn.item(k)”得到的,可能是一個(gè)Element節(jié)點(diǎn)(例如:<name>冰與火之歌</name>)或者
#text節(jié)點(diǎn)類型,因?yàn)闆]有子節(jié)點(diǎn),也就是說(shuō),代碼“cn.item(k).getFirstChild()”為null,而你的代碼
“cn.item(k).getFirstChild().getTextContent()”其中又進(jìn)行對(duì)null對(duì)象的操作,所以指針為空了。
解決方法:
修改34-39行代碼為:
NodeList?cn=book.getChildNodes(); for?(int?k?=?0;?k?<?cn.getLength();?k++)?{ ????if?(cn.item(k).getNodeType()==Node.ELEMENT_NODE)?{ ????????System.out.println(cn.item(k).getNodeName()); ????????System.out.println(cn.item(k).getFirstChild().getNodeValue()); ????} }
把37、38行都括到if執(zhí)行語(yǔ)句中去
我也有同樣的問題,請(qǐng)問你最后怎么解決的?
M__
你的if條件塊,沒有將兩個(gè)輸出語(yǔ)句都括起來(lái),循環(huán)結(jié)束后第二個(gè)語(yǔ)句再用它就會(huì)空指針異常
應(yīng)該是當(dāng)前節(jié)點(diǎn)下沒有子節(jié)點(diǎn)
也就是說(shuō)你的book.xml在<name>冰與火之歌</name>改成<name><a>aa</a>冰與火之歌</name>
你把的xml文件內(nèi)容也截圖下吧,或者試下把38行換成system.out.println(cn.item(k).getFirstChild().getTextContent().getTextContent()); ? 看下有沒輸出值
RoyalT 提問者
瞳孔中的世界 回復(fù) RoyalT 提問者
舉報(bào)
通過(guò)Java認(rèn)識(shí)并且創(chuàng)造XML文件,如何應(yīng)用 Java“解析 XML
3 回答老師,這里為什么會(huì)有空指針異常。。
1 回答為什么會(huì)有空指針異常
3 回答空指針異常
2 回答這是哪里的空指針異常?求解。
3 回答空指針異常怎么回事?求大神
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購(gòu)課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2018-02-02
首先你得知道節(jié)點(diǎn)得類型。1.Element 節(jié)點(diǎn) 2. Text 節(jié)點(diǎn) 3.Attr 節(jié)點(diǎn)
其中代碼 cn節(jié)點(diǎn)集合下一共有9個(gè)子節(jié)點(diǎn),根據(jù)此xml,解析類型順序依此(空格或回車為#text類型)
(#text,Element,#text,Element,#text,Element,#text,Element,#text)
“cn.item(k)”得到的,可能是一個(gè)Element節(jié)點(diǎn)(例如:<name>冰與火之歌</name>)或者
#text節(jié)點(diǎn)類型,因?yàn)闆]有子節(jié)點(diǎn),也就是說(shuō),代碼“cn.item(k).getFirstChild()”為null,而你的代碼
“cn.item(k).getFirstChild().getTextContent()”其中又進(jìn)行對(duì)null對(duì)象的操作,所以指針為空了。
解決方法:
修改34-39行代碼為:
2017-10-28
把37、38行都括到if執(zhí)行語(yǔ)句中去
2017-08-24
我也有同樣的問題,請(qǐng)問你最后怎么解決的?
2017-07-21
你的if條件塊,沒有將兩個(gè)輸出語(yǔ)句都括起來(lái),循環(huán)結(jié)束后第二個(gè)語(yǔ)句再用它就會(huì)空指針異常
2017-07-12
應(yīng)該是當(dāng)前節(jié)點(diǎn)下沒有子節(jié)點(diǎn)
也就是說(shuō)你的book.xml在<name>冰與火之歌</name>改成<name><a>aa</a>冰與火之歌</name>
2017-06-09
你把的xml文件內(nèi)容也截圖下吧,或者試下把38行換成system.out.println(cn.item(k).getFirstChild().getTextContent().getTextContent()); ? 看下有沒輸出值
2017-06-02
應(yīng)該是當(dāng)前節(jié)點(diǎn)下沒有子節(jié)點(diǎn)