java - 将 XPath 查询应用于 Java 中的 SOAPMessage

标签 java xml soap xpath

当前使用 Java 的 SOAPConnectionFactorySOAPConnection.call() 方法发出 SOAP 请求,该方法返回一个 SOAPMessage 对象,我想对其应用 XPath 查询。这完全有可能,还是我完全错了?

据我所知,我必须以某种方式将 SOAPMessage 转换为 InputSource,然后我可以将 XPath 应用到它,但我做不到很清楚如何去做这件事。

谢谢, 彼得

最佳答案

SOAPBody可以转换到节点。所以,你可以像这样使用它:

URL endpoint = new URL("http://www.webservicex.net/whois.asmx");
SOAPMessage message = connection.call(sm, endpoint);
XPath xpath = XPathFactory.newInstance().newXPath();
xpath.setNamespaceContext(new SoapNamespaceContext());
Node resultNode = (Node) xpath.evaluate("//m:GetWhoISResult", message.getSOAPBody(), XPathConstants.NODE);
... do something with resultNode...

关于java - 将 XPath 查询应用于 Java 中的 SOAPMessage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3136528/

相关文章:

java - Eclipse 在 Mac 上打不开

java - Java 应用程序的 XML 配置文件中的 ${some.thing} 是什么

java - 使用 ApprovalTest 验证多个图像

java - 如何确保 Maven 依赖项在给定范围内?

xml - 使用命名空间的 Xpath 测试

Go中不同父标签下相同标签的XML解析

java - 如何将 SOAP Webapp 部署到 Tomcat?

php - 对 SSL 的 Soap 客户端调用

.net - Soap 响应,格式不正确的 XML,未找到 XOP 部件,使用 WSE

java - 如何启用按钮将变量加一并将其显示在文本字段上