XPATH 不工作 ns2:命名空间前缀未定义错误


嗨,我试图使用 xpath/ns0:Start/ns0:Area/ns0:

Test/ns0:Identifier/ns2:UniqueID 提取 UniqueID 的值,但它不起作用,请帮助我我需要正常的 xpath 以及 MEL 命令

<?xml version="1.0" encoding="UTF-8"?>
<ns0:Start xmlns:ns0="http://www.example.com/xmlns/9/Test">
  <ns0:Area>
    <ns0:Test>
      <ns0:Identifier>
        <ns2:UniqueID xmlns:ns2="http://www.example.com/xmlns/9/foundation">123456</ns2:UniqueID>
      </ns0:Identifier>
    </ns0:Test>
    <ns0:Test>
      <ns0:Identifier>
        <ns2:ExternalOrderID xmlns:ns2="http://www.example.com/xmlns/9/foundation">external</ns2:ExternalOrderID>
      </ns0:Identifier>
      <ns0:Info>
        <ns0:Status>st</ns0:Status>
      </ns0:Info>
    </ns0:Test>
  </ns0:Area>
</ns0:Start>

正如维克多所说,您需要将mulexml:namespace-manager用于名称空间:-

尝试以下操作:-

<mulexml:namespace-manager includeConfigNamespaces="true">
    <mulexml:namespace prefix="ns0" uri="http://www.example.com/xmlns/9/Test"/>
    <mulexml:namespace prefix="ns2" uri="http://www.example.com/xmlns/9/foundation"/>
</mulexml:namespace-manager>

然后使用以下 Xpath 检索唯一 ID :- #[xpath('//ns0:Start/ns0:Area/ns0:Test/ns0:Identifier/ns2:UniqueID').text]

外部订单 ID :- #[xpath('//ns0:Start/ns0:Area/ns0:Test/ns0:Identifier/ns2:ExternalOrderID').text]

这将:)工作

使用命名空间管理器的名称:

<mulexml:namespace-manager includeConfigNamespaces="true">
    <mulexml:namespace prefix="foo" uri="http://foo.com"/>
</mulexml:namespace-manager>

相关内容

  • 没有找到相关文章