Я столкнулся с одним исключением при попытке получить тэг textnode XML-документа.
Я хотел получить tagName и TextContent всех элементов узла одного XML-файла.
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>
Как я могу решить эту проблему? Спасибо