基于 ID 值的 XPath 过滤器

XPath filter on the basis of ID value

从下面 XML 我想提取 values/value 标签下的 Mobile_Number 值。我怎样才能使它通用,因为我们以后可以有多个选项而不是单个 Mobile_Number 选项。

<?xml version="1.0" encoding="UTF-8"?>
<Request>
  <header>
    <businessTransactionID>ABCD</businessTransactionID>
    <externalCorrelationID>UABCD</externalCorrelationID>
    <sentTimestamp>2016-12-23T14:21:11.261+01:00</sentTimestamp>
    <sourceContext>
      <host>Whosebug</host>
      <application>browser</application>
      <operation>ExtractXMLTAGVALUE</operation>
    </sourceContext>
  </header>
  <body>
    <serviceCharacteristic>
      <specification>
        <ID>Mobile_Number</ID>
      </specification>
      <values>
        <value>13008421</value>
      </values>
    </serviceCharacteristic>
  </body>
</Request>

我尝试了以下 XPath 查询但没有成功:

//*[local-name()='name'][text()='Mobile_Number']/../*[local-name()='value']/text()

下面的查询将起作用,但它又不是基于 Mobile_Number -

的 ID 值
string(/*/*/*[local-name()='serviceCharacteristic']/*/*[local-name()='value'])

这个怎么样?

//serviceCharacteristic[specification/ID='Mobile_Number']/values/value/text()