C# XDocument子体选择器是否使用通配符?
我有一些XML的结构如下:C# XDocument子体选择器是否使用通配符?,c#,xml,C#,Xml,我有一些XML的结构如下: <form> <section-1> <item-1> <value /> </item-1> <item-2> <value /> </item-2> </section-1> <section-2>
<form>
<section-1>
<item-1>
<value />
</item-1>
<item-2>
<value />
</item-2>
</section-1>
<section-2>
<item-3>
<value />
</item-3>
<item-4>
<value />
</item-4>
</section-2>
</form>
<form>
<items>
<item id="1">
<value/>
</item>
<item id="2">
<value/>
</item>
<item id="3">
<value/>
</item>
<item id="4">
<value/>
</item>
</items>
</form>
…但是在当前的混乱中,xml在其中,我可以通配符子体选择器吗
var items = foo.Descendants("item"*)
……还是什么?我试着跟随,但没能使它适应我的目的 啊哈!最后它确实发出了咔哒声。如果我将后代选择器保留为空,并沿中的内容行添加where语句 然后我们得到:
XDocument foo = XDocument.Load(form.xml);
var items = foo.Descendants()
.Where(d => d.Name.ToString().StartsWith("item-"))
.Select(i => new Item
{
value = i.Element("value").Value
});
…现在,我可以在输出新的XML格式时遍历这些值。幸福
.Where(d => d.Name.ToString().StartsWith("item-"))
XDocument foo = XDocument.Load(form.xml);
var items = foo.Descendants()
.Where(d => d.Name.ToString().StartsWith("item-"))
.Select(i => new Item
{
value = i.Element("value").Value
});