2014-01-16 79 views
2

XML:錯誤:org.apache.xerces.dom.DeferredTextImpl不能轉換爲org.w3c.dom.Element中

<nativeInformation> 
     <detail id="natural:fieldFormat">A</detail> 
</nativeInformation> 

我想拿到 「身份證」 的價值。但不斷收到此錯誤:org.apache.xerces.dom.DeferredTextImpl不能轉換爲org.w3c.dom.Element中

我的代碼:

for (int i = 0; i < nodeList.getLength(); i++) { 
     String s; 
     Node n = nodeList.item(i);   
     Attr attrName = ((Element) n).getAttributeNode("id");   
     if (attrName.getValue()!=null) { 
      s = attrName.getValue(); 
      System.out.println(s);    
     } 
    } 

如果我寫的內容:System.out.println( 「父節點是」+ n.getParentNode());在for循環,這將給我,[詳細:null]

任何幫助將非常感激。

回答

6

之前向下轉換的元件,檢查此

提示: - 只需要檢查Nodeis一個元素或沒有。以下是將Node轉換爲Element的方法。

NodeList nodes = root.getChildNodes(); 
for (int i = 0; i < nodes.getLength(); i++) { 
if(nodes.item(i).getNodeType() == Node.ELEMENT_NODE){ 
    Element element = (Element) nodes.item(i); 
     .............................................. 
    } 
] 
相關問題