根元素的屬性讓我們考慮這個XML文件:爲什麼我不能使用JDOM
<?xml version="1.0" encoding="UTF-8"?>
<root attribute="value">
<element>myElement</element>
</root>
我想用JDOM提取從根屬性名稱和值來解析文件元件。
這是代碼我瘋了這個目的:
public static org.jdom.Document document;
public static org.jdom.Element root;
SAXBuilder sxb = new SAXBuilder();
try
{
document = sxb.build(new File("file.xml"));
root = document.getRootElement();
List myList = root.getAttributes();
Iterator x = myList.iterator();
while(x.hasNext())
{
Attribute myAttribute = (Attribute)x.next();
System.out.println("name : " + myAttribute.getName() + " & value : " + myAttribute.getValue());
}
}
catch(Exception e){
e.printStackTrace();
}
一切正常,這個XML文件。但是,當我使用這個文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE rootElement PUBLIC "-//Project" "mydtd.dtd">
<root attribute="value">
<element>myElement</element>
</root>
我得到Exception in thread "main" java.lang.NullPointerException
你覺得我應該刪除從XML文件的DOCTYPE解析它之前和過去之後我完成了解析。
或者在這種情況下我還能做些什麼嗎?
感謝
什麼是行會導致這個空指針異常? –
哪裏拋出異常?請提供堆棧跟蹤並標記引發異常的行。 – AlexR
root = document.getRootElement(); –