C# - Finding element attribute with XDocument
I'm trying to get the PurchaseDate from the following XML structure (a receipt from an in-app purchase in Windows Phone):
<Receipt Version="1.0" CertificateId="..." xmlns="http://schemas.microsoft.com/windows/2012/store/receipt">
<ProductReceipt PurchasePrice="$0" PurchaseDate="2013-05-20T19:27:09.755Z" Id="..." AppId="..." ProductId="Unlock" ProductType="Consumable" PublisherUserId="..." PublisherDeviceId="..." MicrosoftProductId="..." />
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm=http://www.w3.org/TR/2001/REC-xml-c14n-20010315 />
<SignatureMethod Algorithm=http://www.w3.org/2001/04/xmldsig-more#rsa-sha256 />
<Reference URI="">
<Transforms>
<Transform Algorithm=http://www.w3.org/2000/09/xmldsig#enveloped-signature />
</Transforms>
<DigestMethod Algorithm=http://www.w3.org/2001/04/xmlenc#sha256 />
<DigestValue>...</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>...</SignatureValue>
</Signature>
</Receipt>
My code goes as follows:
XDocument doc = XDocument.Parse(receiptXml);
string date = doc.Root.Element("ProductReceipt").Attribute("PurchaseData").Value;
This keeps raising an access error, because doc.Root.Element("ProductReceipt") is null. Why is XDocument not getting the ProductReceipt element?
I'm trying to get the PurchaseDate from the following XML structure (a receipt from an in-app purchase in Windows Phone):
<Receipt Version="1.0" CertificateId="..." xmlns="http://schemas.microsoft.com/windows/2012/store/receipt">
<ProductReceipt PurchasePrice="$0" PurchaseDate="2013-05-20T19:27:09.755Z" Id="..." AppId="..." ProductId="Unlock" ProductType="Consumable" PublisherUserId="..." PublisherDeviceId="..." MicrosoftProductId="..." />
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm=http://www.w3.org/TR/2001/REC-xml-c14n-20010315 />
<SignatureMethod Algorithm=http://www.w3.org/2001/04/xmldsig-more#rsa-sha256 />
<Reference URI="">
<Transforms>
<Transform Algorithm=http://www.w3.org/2000/09/xmldsig#enveloped-signature />
</Transforms>
<DigestMethod Algorithm=http://www.w3.org/2001/04/xmlenc#sha256 />
<DigestValue>...</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>...</SignatureValue>
</Signature>
</Receipt>
My code goes as follows:
XDocument doc = XDocument.Parse(receiptXml);
string date = doc.Root.Element("ProductReceipt").Attribute("PurchaseData").Value;
This keeps raising an access error, because doc.Root.Element("ProductReceipt") is null. Why is XDocument not getting the ProductReceipt element?
No comments:
Post a Comment