0
Из-под XML я хочу извлечь Mobile_Number
значения, которые находятся под тегом values/value
. Как я могу сделать это generic, потому что мы можем иметь несколько опций позже вместо одного Mobile_Number
.XPath-фильтр на основе значения ID
<?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>stackoverflow</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()
Ниже запрос будет работать, но опять же это не на основе ID значения, которое Mobile_Number
-
string(/*/*/*[local-name()='serviceCharacteristic']/*/*[local-name()='value'])
Спасибо Томас, он работает. –