当前使用 Java 的 SOAPConnectionFactory
和 SOAPConnection
的 .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/