簡體   English   中英

如何使用xPath表達式獲取鍵的值

[英]How I get the value of key using xPath expression

我需要編寫一個XPath表達式來評估XML上的鍵'ErrorCode'= -3025的值:

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
  <esb:esb-header xmlns:esb="http://schemas.company.com/soa/esb">
    <esb:params>
      <esb:param>
        <esb:param-name>ErrorCode</esb:param-name>
        <esb:param-value>-3025</esb:param-value>
      </esb:param>
    </esb:params>
  </esb:esb-header>
</soapenv:Envelope>

請注意,元素具有前綴。

XPath 2.0:

/*:Envelope/*:esb-header/*:params/*:param[*:param-name='ErrorCode' and *:param-value='-3025']

對於XPath 1.0,您可以改用local-name() (yuck):

/*[local-name()='Envelope']/*[local-name()='esb-header']/*[local-name()='params']/*[local-name()='param'][*[local-name()='param-name']='ErrorCode' and *[local-name()='param-value']='-3025']

如果您可以聲明這些名稱空間,則在1.0中使用前綴而不是local-name()會容易得多。

另外,您可以將整個路徑包裝在boolean() (XPath 1.0 / 2.0)或exists() (XPath 2.0)中,以返回truefalse

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM