C# linq从xml检索数据时出现问题
我有xml从我想得到一些数据C# linq从xml检索数据时出现问题,c#,xml,linq,linq-to-xml,C#,Xml,Linq,Linq To Xml,我有xml从我想得到一些数据 XDocument loaded = XDocument.Load(@"c:\TERC.xml"); var query = (from c in loaded.Descendants("catalog") from r in c.Descendants("row") select (string)r.Element("Name")); 这将返回null的集合 我怎样才能修好它
XDocument loaded = XDocument.Load(@"c:\TERC.xml");
var query = (from c in loaded.Descendants("catalog")
from r in c.Descendants("row")
select (string)r.Element("Name"));
这将返回null的集合
我怎样才能修好它
以下是xml:
<?xml version="1.0" encoding="UTF-8" ?>
<teryt>
<catalog name="Compix">
<row>
<col name="NAME">Name1</col>
<col name="ID">12</col>
</row>
<row>
<col name="NAME">Name2</col>
<col name="ID">13</col>
</row>
<row>
<col name="NAME">Name3</col>
<col name="ID">14</col>
</row>
</catalog>
</teryt>
名称1
12
姓名2
13
名字3
14
您可以尝试以下方法:
var query = (from c in loaded.Descendants("catalog")
from r in c.Descendants("row")
select (string)r.Value);
我假设您希望获取“col”节点内的数据。否则,请精确说明要检索的内容
希望这能有所帮助。List query=(来自c中的loaded.substands(“catalog”)
List<string> query = (from c in loaded.Descendants("catalog")
from r in c.Descendants("row")
from col in r.Descendants("col").Where(col1 =>
col1.Attribute(XName.Get("name")).Value == "NAME")
select col.Value).ToList();
从c.中的r开始(“行”)
从r.后代中的列(“列”)。其中(col1=>
col1.Attribute(XName.Get(“name”))。Value==“name”)
选择col.Value).ToList();
执行上述语句后,query
包含以下字符串:
Name1
Name2
Name3
col
元素上的一个属性,您需要该元素的值,但查询中缺少该部分
var query = (from c in loaded.Descendants("catalog")
from r in c.Descendants("row")
from col in r.Descendants("col")
select (string)r.Value).ToList<string>();
var query=(从c加载的.substands(“目录”)中)
从c.中的r开始(“行”)
来自r.后代中的col(“col”)
选择(字符串)r.Value).ToList();
对不起,我为我的xml添加了非常重要的值。这只是这个大xml的一部分,我不知道这对您来说是多么重要:/抱歉,我为我的xml添加了非常重要的值。这是这个大xml的唯一一部分,我不知道这对您来说是多么重要:/没问题,这很正常,我们不在您的代码中,所以我们不了解所有内容。我只是希望其中一些答案对您有所帮助。对不起,我为我的xml增加了非常重要的价值。它只是这个大xml的一部分,我不知道这对您来说是多么重要:/