我有以下xml:
<GetPurchaseContractResponse xmlns="http://payments.amazon.com/checkout/v2/2010-08-31/">
<GetPurchaseContractResult>
<PurchaseContract>
<Id>amzn1.contract.1.1.1.d6779be6bf481167fe945</Id>
<State>ACTIVE</State>
<MerchantId>XXXXXXXXXX</MerchantId>
<ExpirationTimeStamp>2012-07-19T10:55:28.134Z</ExpirationTimeStamp>
<MarketplaceId>A1SDFERWERSDF</MarketplaceId>
</PurchaseContract>
</GetPurchaseContractResult>
<ResponseMetadata>
<RequestId>0db53477-d17a-11e1-ac3e-fd3e0de62222</RequestId>
</ResponseMetadata>
</GetPurchaseContractResponse>
我想提取 ExpirationTimeStamp 元素的内容。
这是我的代码的相关部分(是的,我们使用的是 jscript 而不是 vbscript):
var xmlDoc = Server.CreateObject("Msxml2.DOMDocument.6.0");
xmlDoc.loadXML(xml);
var expNode = xmlDoc.getElementsByTagName("ExpirationTimeStamp");
if (expNode)
Response.Write(expNode.text);
我也尝试过 selectSingleNode 而不是 getElementsByTagName
我已经尝试将 GetPurchaseContractResponse/GetPurchaseContractResult/PurchaseContract/ExpirationTimeStamp 作为 xpath 字符串,其中没有、一个和两个前导斜杠
Response.Write(xmlDoc.xml) 输出整个文档,因此加载正常。
expNode 变量没有得到任何东西。
我对 xpath 的了解几乎为零,所以我确信那里的一些专家可以指出我所犯的简单错误。