C# XDocument子体选择器是否使用通配符?

C# XDocument子体选择器是否使用通配符?,c#,xml,C#,Xml,我有一些XML的结构如下: <form> <section-1> <item-1> <value /> </item-1> <item-2> <value /> </item-2> </section-1> <section-2>

我有一些XML的结构如下:

<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
    });