私はparse(String path)
とparseXml(Document doc)
メソッドを持つxmlReader
という名前のクラスを持っています。 は私が定義: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)
プログラムがnull参照の例外を取得する場合。デバッグ時には、文書がnull
と定義されています。何故ですか? そのように、ファイルが正しく読み込まれません。
ありがとうございます。
この
は私の解析(文字列のパス)メソッドです:あなたはこのNode id = att.item(0);
が
System.out.println(first);
を行うことによって
Node first
のオブジェクト型を見てくださいする前に
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
PATHが正しいかあなたが確かにある – kosa
? 'doc'が' null'の場合、問題は 'doc = reader.parse(PATH);であり、あなたのメソッドではありません。 –