我有一個名爲xmlReader
的類,它有parse(String path)
和parseXml(Document doc)
方法。 我定義:讀取xml文件時空指針異常
xmlReader reader = new xmlReader();
Document doc = reader.parse(PATH);
reader.parseXml(doc);`
我parseXml
方法:
public void parseXml(Document doc)
{
Node first = doc.getFirstChild().getFirstChild();
NamedNodeMap att = first.getAttributes();
Node id = att.item(0);
NodeList l = first.getChildNodes();
System.out.println("id:" + id.getNodeValue());
for(int i = 0; i < l.getLength(); i++)
{
Node temp = l.item(i);
System.out.println(temp.getNodeName() + ": " +
temp.getNodeValue());
}
}
問題:3號線parseXml
的方法:
當Node id = att.item(0)
程序得到一個空REF例外。在調試時,我發現文檔被定義爲null
。這是爲什麼? 它就像它沒有正確讀取文件。
謝謝?
這是我的解析(字符串路徑)方法:
public Document parse(String path)
{
DocumentBuilderFactory dbf =
DocumentBuilderFactory.newInstance();
DocumentBuilder db = null;
try
{
db = dbf.newDocumentBuilder();
} catch (ParserConfigurationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Document doc = null;
try
{
doc = db.parse(path);
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return doc;
}
「這就像它無法正確讀取該文件。」嗯,也許它不能正確讀取該文件你怎麼知道這不是問題 – Paul 2012-01-09 22:08:53
你確定路徑是正確的 – kosa 2012-01-09 22:09:31
。?如果'doc'爲'null',那麼確實問題出在'doc = reader.parse(PATH);'不適用於你的方法。 – 2012-01-09 22:15:52