我有一个XML文件,如下所示:
<?xml version="1.0" encoding="utf-8" ?>
<ROOT>
<NAME>
ItemName
</NAME>
<LIST>
<ITEM>
ListItem1
</ITEM>
<ITEM>
ListItem2
</ITEM>
<ITEM>
ListItem3
</ITEM>
</LIST>
</ROOT>
如何使用LINQ获取LIST标记内的所有ITEM?
答案 0 :(得分:4)
类似的东西:
XDocument doc = XDocument.Load("foo.xml");
var items = from list in doc.Descendants("LIST")
from item in list.Elements("ITEM")
select item;
这将处理多个“LIST”元素,除了直接在“LIST”之外,不会找到“ITEM”元素。如果你不关心那些你可以使用的更好的点:
XDocument doc = XDocument.Load("foo.xml");
var items = doc.Descendants("ITEM");
答案 1 :(得分:3)
另一种语法是将Descendents方法链接到专门获取作为LIST节点的子节点的ITEM节点:
XDocument doc = XDocument.Load("foo.xml");
var nodes = doc.Descendants("LIST").Descendants("ITEM");