[英]Linq to XML Question
给定以下 XML,我可以使用什么查询将 preapprovalKey 的值提取到字符串变量? 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>
</responseEnvelope>
<preapprovalKey>PA-9AG427954Y7578617</preapprovalKey>
</ns2:PreapprovalResponse>
XDocument doc = XDocument.Load("test.xml");
string preapprovalKey = doc.Descendants("preapprovalKey").Single().Value;
请参阅下面的示例,它可以帮助您解决问题。 :)
考虑下面的 XML 作为 SQL 表的列之一。
<Root>
<Name>Dinesh</Name>
<Id>2</Id>
</Root>
查询的目的是从 XML 中获取名称。 在此示例中,我们将获取“Dinesh”作为值。
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()
});
请注意以下事项:-
在上面的 LINQ 中,t.active == true 只是一个示例,可以在需要时创建一些条件。
请注意,在上面的 LInQ 查询中,始终使用 AsEnumerable(),就像我在
Linq 查询的第一个文件.exmaple(var Query = (from t in dbContext.Employee.AsEnumerable())
Descendants(" Root ").Descendants(" Name "),这里Root应该是与XML匹配的Element,在Root下我们有Name元素,所以我们写了Descendants(" Root ").Descendants(" Name " )
如需进一步说明,您可以通过 danish.eggericx@gmail.com 与我联系
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.