C# 如何从XElement中检索元素
我试图找出获得两个元素(城市和州)值的最佳方法,以便以后使用它们。我是通过每个网站下的网站循环。每次我通过它,我需要拉城市和国家,然后保存为字符串。我有点工作,但我想我走错了方向 XML:C# 如何从XElement中检索元素,c#,linq,linq-to-xml,C#,Linq,Linq To Xml,我试图找出获得两个元素(城市和州)值的最佳方法,以便以后使用它们。我是通过每个网站下的网站循环。每次我通过它,我需要拉城市和国家,然后保存为字符串。我有点工作,但我想我走错了方向 XML: 迈阿密 佛罗里达州 1950-16芯 CoreServer 核心 芯法 真的 防病毒 真的 1950-16-COREX CoreExpansionServer 科雷克斯 代码: foreach (XElement xEleSite in siteRows) { IEnumerable<XEl
迈阿密
佛罗里达州
1950-16芯
CoreServer
核心
芯法
真的
防病毒
真的
1950-16-COREX
CoreExpansionServer
科雷克斯
代码:
foreach (XElement xEleSite in siteRows)
{
IEnumerable<XElement> siteLists = from siteList in xEleSite.Descendants("Site")
select siteList;
IEnumerable<XElement> siteCity = siteLists.Descendants("City");
foreach (XElement c in siteCity)
{
string cityElement = c.Value.ToString();
}
}
foreach(siteRows中的XElement xEleSite)
{
IEnumerable siteList=来自xEleSite.substands(“站点”)中的站点列表
选择站点列表;
IEnumerable siteCity=siteLists.substands(“城市”);
foreach(siteCity中的XElement c)
{
字符串cityElement=c.Value.ToString();
}
}
考虑以下简化示例:
<Sites>
<Site>
<City>Miami</City>
<State>FL</State>
<Machines></Machines>
</Site>
<Site>
<City>NY</City>
<State>FL</State>
<Machines></Machines>
</Site>
</Sites>
要对其进行迭代,您可以:
foreach (var i in result)
{
Console.WriteLine(i.City);
Console.WriteLine(i.State);
Console.WriteLine();
}
从最初的问题来看,我认为您需要存储xml中的所有值以供以后使用,而OP的代码在包含它们的最内部循环中只有局部变量。这种方法提供了访问列表中所有值的机会
var result = xEleSite.Descendants("Site")
.Select(s => new
{
City = s.Element("City").Value,
State = s.Element("State").Value
});
foreach (var i in result)
{
Console.WriteLine(i.City);
Console.WriteLine(i.State);
Console.WriteLine();
}