私は次のxmlドキュメントを持っています(私は無関係なデータをクリアしました):
<?xml version="1.0"?>
<NewOrderNotification xmlns="http://payments.amazon.com/checkout/2008-11-30/">
<ProcessedOrder>
<ShippingServiceLevel>blah</ShippingServiceLevel>
<ProcessedOrderItems>
<ProcessedOrderItem>
<AmazonOrderItemCode>blah</AmazonOrderItemCode>
<Price>
<Amount>0.2</Amount>
<CurrencyCode>GBP</CurrencyCode>
</Price>
<ItemCharges>
<Component>
<Type>Principal</Type>
<Charge>
<Amount>0.2</Amount>
<CurrencyCode>GBP</CurrencyCode>
</Charge>
</Component>
<Component>
<Type>Shipping</Type>
<Charge>
<Amount>0.95</Amount>
<CurrencyCode>GBP</CurrencyCode>
</Charge>
</Component>
<Component>
<Type>PrincipalPromo</Type>
<Charge>
<Amount>0.0</Amount>
<CurrencyCode>GBP</CurrencyCode>
</Charge>
</Component>
<Component>
<Type>ShippingPromo</Type>
<Charge>
<Amount>0.0</Amount>
<CurrencyCode>GBP</CurrencyCode>
</Charge>
</Component>
</ItemCharges>
<ShippingCustomData>null</ShippingCustomData>
</ProcessedOrderItem>
</ProcessedOrderItems>
</ProcessedOrder>
</NewOrderNotification>
<Amount>
5つの異なる要素内の各値を取得するためのxpath構文を知りたいです。
つまり、次のそれぞれをどのように抽出しますか。
NewOrderNotification-ProcessedOrder-ProcessedOrderItems-ProcessedOrderItem-価格-金額
NewOrderNotification-ProcessedOrder-ProcessedOrderItems-ProcessedOrderItem-ItemCharges-Component(with type = Principle)-Charge-Amount
NewOrderNotification-ProcessedOrder-ProcessedOrderItems-ProcessedOrderItem-ItemCharges-Component(with type = Shipping)-Charge-Amount
NewOrderNotification-ProcessedOrder-ProcessedOrderItems-ProcessedOrderItem-ItemCharges-Component(with type = PrincipalPromo)-Charge-Amount
NewOrderNotification-ProcessedOrder-ProcessedOrderItems-ProcessedOrderItem-ItemCharges-Component(with type = ShippingPromo)-Charge-Amount
ルート要素のxmlnsに注意してください。
これは、要素を抽出するために使用しているJScriptコードです。
var xmlDoc = Server.CreateObject("Msxml2.DOMDocument.6.0");
xmlDoc.setProperty("SelectionNamespaces", "xmlns:a='http://payments.amazon.com/checkout/2008-11-30/'");
xmlDoc.loadXML(xml);
var node = xmlDoc.documentElement.selectSingleNode("XPATH_IN_HERE");
return node.text;