ich einen XPath-Ausdruck müssen von XML folgende Beispielskript nur spezifischen Werte von BalanceResult Attribut abzurufen:XPath-Ausdruck alle Kind-Knotens Wert abzurufen nur
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<ars:QueryBalanceResultMsg xmlns:ars="http://www.huawei.com/bme/cbsinterface/arservices" xmlns:arc="http://cbs.huawei.com/ar/wsservice/arcommon" xmlns:cbs="http://www.huawei.com/bme/cbsinterface/cbscommon">
<QueryBalanceResult>
<ars:AcctList>
<ars:BalanceResult>
<arc:BalanceType>C_MAIN_ACCOUNT</arc:BalanceType>
<arc:BalanceTypeName>MainAccount</arc:BalanceTypeName>
<arc:TotalAmount>80000</arc:TotalAmount>
<arc:BalanceDetail>
<arc:BalanceInstanceID>702000000000008916</arc:BalanceInstanceID>
<arc:EffectiveTime>20160803080942</arc:EffectiveTime>
<arc:ExpireTime>20370101010000</arc:ExpireTime>
</arc:BalanceDetail>
</ars:BalanceResult>
<ars:BalanceResult>
<arc:BalanceType>C_Bonus_Account</arc:BalanceType>
<arc:BalanceTypeName>Bonus Balance Account</arc:BalanceTypeName>
<arc:TotalAmount>3900</arc:TotalAmount>
<arc:BalanceDetail>
<arc:BalanceInstanceID>702000000000008543</arc:BalanceInstanceID>
<arc:EffectiveTime>20160803082506</arc:EffectiveTime>
<arc:ExpireTime>20191211121212</arc:ExpireTime>
</arc:BalanceDetail>
</ars:BalanceResult>
.......
</ars:AcctList>
</QueryBalanceResult>
</ars:QueryBalanceResultMsg>
</soapenv:Body>
Derart, dass mein Ausdruck gibt etwas zurück:
C_MAIN_ACCOUNT, 80000, 20370101010000, C_Bonus_Account, 3900, 20191211121212, ... Vorlage für oben: (Bogen: BalanceType, Bogen: TotalAmount, Bogen: ExpireTime)
Unter Ausdruck gibt alles einschließlich der Tags zurück - nicht benötigt.
//*[local-name()='BalanceResult'][*[local-name()='BalanceType']]
Auch da könnte es eine Anzahl von n BalanceResult Attributen (in obigem Beispiel, seine 2) sein, ich bin nicht in der Lage mit einer Lösung zu kommen.
Vielen Dank für Ihre Hilfe!