gpt4 book ai didi

java - 如何获取XML文本节点的TagName和TextContent?

转载 作者:行者123 更新时间:2023-12-01 15:53:20 26 4
gpt4 key购买 nike

我在尝试获取 XML 文档的文本节点的标记名时遇到了一个异常。

我想获取一个 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>

如何解决这个问题?谢谢

最佳答案

要解决您的问题,您可以使用 SAX 解析器。

关于java - 如何获取XML文本节点的TagName和TextContent?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5566641/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com