通过 linq 从 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 集合,
我该如何修复它?
这是这个 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>
I have xml from I want get some data
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"));
this returns me collection of null
How can I fix it ?
Here is this 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>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
执行上述语句后,
query
包含以下字符串:Name1
Name2
Name3
After executing statement above,
query
contains the following strings:Name1
Name2
Name3
您可能想尝试这个:
我假设您想获取“col”节点内的数据。否则,请明确您要检索的内容。
希望这有帮助。
You may want to try this:
I assume that you want to get the data inside the "col" node. Otherwise, please precise what you want to retrieve.
Hope this helps.
Name 是
col
元素上的一个属性,您需要其值,但查询中缺少该部分。Name is an attribute on the
col
element of which you want the value, that part was missing in the query.