gpt4 book ai didi

java - org.apache.axiom.om.impl.llom.OMTextImpl 无法转换为 org.apache.axiom.om.OMElement

转载 作者:行者123 更新时间:2023-11-29 07:02:20 25 4
gpt4 key购买 nike

我正在尝试执行以下操作。

OMElement soapEnvelope = new StAXOMBuilder(soapEnvelopXMLFilePath).getDocumentElement();
OMElement firstElement = soapEnvelope.getFirstElement().getFirstElement();

然后我像这样遍历 firstElement 的子元素。

Iterator<OMElement> items = firstElement.getChildren();
while (items.hasNext()) {
OMElement element = items.next();
// ....do some processing here...
}

但是当我尝试执行这个下面的类转换异常时。

java.lang.ClassCastException: org.apache.axiom.om.impl.llom.OMTextImpl cannot be cast to org.apache.axiom.om.OMElement 

items.next() 被分配给元素 OMElement 对象时发生错误。

知道为什么我会收到此异常吗?我无法找出任何不匹配的地方。

这些是我的示例 xml 文件的内容。

    <?xml version="1.0" encoding="utf-8"?>
<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
<soapenv:Body>
<ns:MONITOR xmlns:ns="http://try.example.com">
<ns:HOSTS>
<ns:HOST NAME="node1">
<ns:METRIC NAME="metric1" VALUE="1123"/>
<ns:METRIC NAME="metric3" VALUE="456"/>
<ns:METRIC NAME="metric2" VALUE="789"/>
</ns:HOST>
<ns:HOST NAME="node2">
<ns:METRIC NAME="metric1" VALUE="147"/>
<ns:METRIC NAME="metric3" VALUE="258"/>
<ns:METRIC NAME="metric2" VALUE="369"/>
</ns:HOST>
</ns:HOSTS>
<ns:HOSTS>
<ns:HOST NAME="node3">
<ns:METRIC NAME="metric1" VALUE="236"/>
<ns:METRIC NAME="metric3" VALUE="159"/>
<ns:METRIC NAME="metric2" VALUE="478"/>
</ns:HOST>
</ns:HOSTS>
</ns:MONITOR>
</soapenv:Body>

谢谢。

最佳答案

使用 getChildElements 而不是 getChildren

关于java - org.apache.axiom.om.impl.llom.OMTextImpl 无法转换为 org.apache.axiom.om.OMElement,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24015924/

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