2012-04-05 29 views
0

DOM XML解析を記述しようとしています。 私のXMLファイル与えられたノードの属性を取得する方法は?

<?xml version="1.0"?> 
<BLAH> 
    <AgentNm type="citi1"> 
     <accName>accName1</accName> 
     <accType>accType1</accType> 
     <someThing>someThing1</someThing> 
     <amt>100000</amt> 
    </AgentNm> 
    <AgentNm type="citi2"> 
     <accName>accName2</accName> 
     <accType>accType2</accType> 
     <someThing>someThing2</someThing> 
     <amt>200000</amt> 
    </AgentNm> 
</BLAH> 

と私はJavaコード

DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance(); 
      DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder(); 
      Document doc = docBuilder.parse (new File("c:\\file.xml")); 
      // normalize text representation 
      doc.getDocumentElement().normalize(); 
      System.out.println ("Root element of the doc is " +doc.getDocumentElement().getNodeName()); 
      NodeList agentNm = doc.getElementsByTagName("AgentNm"); 
      int totalAgentNm = agentNm.getLength(); 
      System.out.println("Total no of Agents : " + totalAgentNm); 
      for(int s=0; s<agentNm.getLength() ; s++){ 
       Node firstPersonNode = agentNm.item(s); 
       if(firstPersonNode.getNodeType() == Node.ELEMENT_NODE){ 
        Element firstPersonElement = (Element)firstPersonNode; 
        PrintNodeElem(firstPersonElement,"type"); 
       }//end of if clause 
      }//end of for loop with s var 
     static void PrintNodeElem(Element nodeElem,String elem){ 
     NodeList someThingList = nodeElem.getElementsByTagName(elem); 
     Element ageElement = (Element)someThingList.item(0); 
     NodeList textAgeList = ageElement.getChildNodes(); 
     System.out.println(elem+" : " +((Node)textAgeList.item(0)).getNodeValue().trim()); 
    } 

しかし、私は、上記の方法 を実行しようとしたとき、私は、nullポインタ例外を取得しています、次の試してみました。 誰でも私にこのことを解決する方法を説明することができます。

+0

NPEはどの回線に接続されていますか。 – Andrejs

答えて

関連する問題