开发者

Linq to XML Question

Given the following XML, what query can I use to extract the value of preapprovalKey to a string variable? Still a little new to LINQ to XML.

  <?xml version="1.0" encoding="UTF-8" ?> 
- <ns2:PreapprovalResponse xmlns:ns2="http://svcs.paypal.com/types/ap">
- <responseEnvelope>
  <timestamp>2011-04-05T18:35:32.952-07:00</timestamp> 
  <ack>Success</ack> 
  <correlationId>7cec030fa3eb2</correlationId> 
  <build>1655692</build> 
  </respons开发者_C百科eEnvelope>
  <preapprovalKey>PA-9AG427954Y7578617</preapprovalKey> 
  </ns2:PreapprovalResponse>


XDocument doc = XDocument.Load("test.xml");
string preapprovalKey = doc.Descendants("preapprovalKey").Single().Value;


See below my exmaple, it help you to resolve your issue and problem. :)

Consider this below XML is there as one of the SQL table's column.

<Root>
<Name>Dinesh</Name>
<Id>2</Id>
</Root>

The objective of the query is to fetch the Name from the XML. In this example we will fetch the 'Dinesh' as the value.

   var Query = (from t in dbContext.Employee.AsEnumerable()
    where t.active == true 
    select new Employee
    {
    Id = t.AtpEventId,  
    Name = XDocument.Parse(t.Content).Descendants("Root").Descendants("Name").ToList().  
    Select(node => node.Value.ToString()).FirstOrDefault()  
    });

Note the following :-

  1. Here in above LINQ , t.active == true is just an example to make some condition if needed.

  2. Please note, in the above LInQ query, always use the AsEnumerable(), as I did in the
    first file of the Linq query.exmaple(var Query = (from t in dbContext.Employee.AsEnumerable())

  3. Descendants("Root").Descendants("Name") , Here Root should be the Element matching with the XML, And under the Root we have Name element, thats why we wrote Descendants("Root").Descendants("Name")

  4. For any further clarification you can reach me via danish.eggericx@gmail.com

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜