【发布时间】:2014-05-20 19:37:40
【问题描述】:
我有一个来自 Web 服务的字符串和Document 格式的 SOAP 响应,并且我有一个验证它的方法。问题是我必须验证节点<Result>。
我已经得到了这个节点,但是不知道如何获取带有标签等的子节点。
Node result = (Node)xPath.compile("//Result").evaluate(xmlDocument, XPathConstants.NODE);
<Result>
<playerID>some id</playerID>
<partnerUID>some partner uid</partnerUID>
<registrationLevel>some registration level</registrationLevel>
<properties>
<property>
<key>some key</key>
<value>some value</value>
</property>
<property>...</property>
</Result>
感谢您的帮助
【问题讨论】:
-
要获取哪些子节点?你的
<Result/>元素是什么样子的?您实际上具体想做什么? -
@dirkk 我已经更新了我的问题,我有一个用于这部分的 XSD 架构,我需要验证它...有没有办法将子节点作为字符串获取,包括标签?
-
如果您有 XSD 架构,为什么不通过验证器对其进行验证?在我看来,您想手动完成,这很容易出错并且过于复杂。请参阅stackoverflow.com/questions/15732/… 了解如何根据架构验证您的 XML
-
@dirkk 问题是,我无法为这个 XML 文件生成正确的 XSD 模式,这是来自 Web 服务的 SOAP 响应。我不知道如何处理“Soap:envelope”标签
-
您当然也可以针对 XSD 仅验证部分 XML。但是,由于您的两个陈述相互矛盾,我现在不确定您是否有 XSD 文件。如果您有,即使只是对于您真正想要检查的 XML 部分,使用 XSD 验证而不是手动检查所有内容。
标签: java xml validation xpath xsd