0
我有一些真正的問題從我的XML中獲取元素值。我似乎總是遇到與XML有關的問題。代碼完全適合其他人對我的,我必須失去一些東西,但我不知道是什麼。LINQ到Xml選擇元素
我有下面的XML:
<?xml version="1.0" encoding="UTF-8"?>
<license xmlns="http://http://lilleker-it.co.uk/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SID>S-1-5-21-1231312-12344234-12312312</SID>
<Email>[email protected]</Email>
<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/2000/09/xmldsig#rsa-sha1" />
<Reference URI="">
<Transforms>
<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<DigestValue>aZd9Jsbqif+8KKRYuaKzuXTLPGA=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>PB613rI/Nh4E3LBY0pG52vTCsH6dple2nXXjnnHhpsW2ZOG6lcMPmPmQWAzZVEPDPACg44Tn37hBoRBoRZ4T98qwB5tRfDRD9jXgcC912334dfDFADdcdkoYXTSiVaVWsUe4x3T665VKf8Dej2e9bFXOuhCegXA5BP1Jeak=</SignatureValue>
</Signature>
</license>
我需要做的是選擇電子郵件和SID的值,但是我似乎無法得到它的工作,我曾嘗試下面的代碼:
var query = doc.Descendants("license").Select(s => new
{
EMAIL = s.Element("Email").Value,
SID = s.Element("SID").Value
}).ToList();
string e = query[0].EMAIL;
string id = query[0].SID;
除了:
string e = doc.Root.Element("license")
.Elements("Email")
.SingleOrDefault()
.Value;
沒有這些回報的價值,總是空,我看不到W¯¯ HY。
謝謝你,完美的作品。我想我對XML的理解還是有點偏離。不幸的是,由於這個愚蠢的計時器,我無法接受你的答案。不過,我會回來接受。 – Ben