【问题标题】:parsing of generic xml file without knowing the exact namespace在不知道确切名称空间的情况下解析通用 xml 文件
【发布时间】:2012-02-16 06:34:42
【问题描述】:

我在解析 XML 响应时遇到问题,该响应是 Java 应用程序中 SOAP 请求的结果。

请求被服务,响应是一个xml文件,它的命名空间容易不时改变,但是命名空间后面的标记名不会改变。

例如,是标签,那么'status'不会因任何原因而改变,只有命名空间前缀'xxx'会改变。

所以查询:是否在不知道命名空间('xxx')详细信息的情况下获取该标记值??

提前谢谢..

【问题讨论】:

    标签: xml soap xml-parsing


    【解决方案1】:

    如果命名空间 URI 没有改变,但前缀发生了变化,您只需将 URI 添加到您的 xpath 中(例如 /S:Envelope/S:Body/ns1:someContentElement ):

    /*[namespace-uri()='http://schemas.xmlsoap.org/soap/envelope/' and local-name()='Envelope']/*[namespace-uri()='http://schemas.xmlsoap.org/soap/envelope/' and local-name()='Body']/*[namespace-uri()='http://service.example.com/' and local-name()='someContentElement']
    

    有点罗嗦,但会绕过不断变化的命名空间前缀

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-17
      • 1970-01-01
      • 1970-01-01
      • 2012-04-30
      • 2020-01-02
      • 1970-01-01
      • 2011-12-16
      相关资源
      最近更新 更多