0
我試圖獲取XML文檔的文本節點的標記名時遇到了一個異常。如何獲取XML文本節點的TagName和TextContent?
我想獲取一個XML文件的所有節點元素的tagName和TextContent。
NodeList nList = doc.getElementsByTagName("RESOURCE_INFO");
NodeList head = nList.item(0).getChildNodes();
for(int j=0;j<head.getLength();j++){
String p=head.item(j).getNodeName();
String p=head.item(j).getNodeValue();
String v=head.item(j).getTextContent();
}
但是,從以上都不能得到TagName。所以改變了這樣的代碼..
String p=((Element)head.item(j)).getTagName();
即使它被編譯,它會產生運行時錯誤。
SEVERE: java.lang.ClassCastException: org.apache.xerces.dom.DeferredTextImpl cannot be cast to org.w3c.dom.Element
這是XML文檔
<TOTALRESOURCES>
<RESOURCE_INFO>
<HEADNODE>
<HOST_NAME>xencluster</HOST_NAME>
<HYPER_TYPE>XEN</HYPER_TYPE>
<DOMAIN_COUNT>1</DOMAIN_COUNT>
<TOTAL_MEM_MB>1015</TOTAL_MEM_MB>
<TOTALNODES>6</TOTALNODES>
<FREENODES>2</FREENODES>
</HEADNODE>
<COMPUTENODE>
<HOST_NAME>xencluster</HOST_NAME>
<HYPER_TYPE>XEN</HYPER_TYPE>
<DOMAIN_COUNT>1</DOMAIN_COUNT>
<TOTAL_MEM_MB>1015</TOTAL_MEM_MB>
<COMPUTENODE>
<COMPUTENODE>
<HOST_NAME>xencluster2</HOST_NAME>
<HYPER_TYPE>XEN</HYPER_TYPE>
<DOMAIN_COUNT>2</DOMAIN_COUNT>
<TOTAL_MEM_MB>1015</TOTAL_MEM_MB>
<COMPUTENODE>
</RESOURCE_INFO>
</TOTALRESOURCES>
我怎樣才能解決這個問題?謝謝