2011-06-09 59 views
-4

我使用Windows操作系統, 並要解析XML文件,但得到空指針錯誤....與xml文件空指針異常的Java文件URI

public void print() 
    throws SAXException, IOException { 

      DocumentBuilder builder; 

      Document document = builder.parse("D:\\my\\xml.xml");//null pointer exception 

} 

這裏是解決方案:

public class DOMPrinter { 

     private DocumentBuilder builder; 


     public void print(String fileName)//, PrintStream out) 
       throws SAXException, IOException { 

      try 
      { 
       DocumentBuilderFactory fact= DocumentBuilderFactory.newInstance(); 

       builder= fact.newDocumentBuilder(); 

      Document document = builder.parse(fileName); 

      Node node = document.getDocumentElement(); 
       String root = node.getNodeName(); 
       System.out.println("Root Node: " + root); 

      } 
      catch (Exception e) { 
       // TODO: handle exception 
      } 
} 

我沒有使用DocumentBuilderFactory來創建DocumentBuilder,所以這是一個錯誤。

+2

你從來沒有實例化'builder' ......這是痛苦的顯而易見的。 – mre 2011-06-09 20:44:54

+2

您可能想閱讀SO FAQ。您提出了6個問題並且未接受任何答案。這會阻止人們在將來回答你的問題。 – PengOne 2011-06-09 20:45:02

+0

也請閱讀http://stackoverflow.com/questions/how-to-ask – 2011-06-09 21:24:59

回答

2

你從未實例化過builder。你需要說builder = ...;

此外,您不能在方法內部有私人字段。刪除私人關鍵字。

+0

這是在課堂上,但我把它移到功能爲了簡化代碼,所以我忘記改變它。 – 2011-06-10 10:00:38

+0

啊,好的。這就說得通了。很高興你解決它:D – 2011-06-13 21:44:33