Запрос для получения имен групповых узлов - PullRequest
2 голосов
/ 24 сентября 2008

Если бы у меня был какой-то XML, такой как этот, загруженный в объект XDocument:

<Root>
    <GroupA>
        <Item attrib1="aaa" attrib2="000" />
    </GroupA>
    <GroupB>
        <Item attrib1="bbb" attrib2="111" />
        <Item attrib1="ccc" attrib2="222" />
        <Item attrib1="ddd" attrib2="333" />
    </GroupB>
    <GroupC>
        <Item attrib1="eee" attrib2="444" />
        <Item attrib1="fff" attrib2="555" />
    </GroupC>
</Root>

Как будет выглядеть запрос для получения имен узлов группы?

Например, я бы хотел, чтобы запрос возвратил:

GroupA
GroupB
GroupC

1 Ответ

8 голосов
/ 24 сентября 2008

Примерно так:

XDocument doc; // populate somehow

// this will give the names as XName
var names = from child in doc.Root.Elements()
            select child.Name;

// if you want just the local (no-namespaces) name as a string, use this
var simpleNames = from child in doc.Root.Elements()
                  select child.Name.LocalName;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...