Как я могу отсортировать XDocument по атрибуту? - PullRequest
12 голосов
/ 09 февраля 2010

У меня есть XML

<Users>
    <User Name="Z"/>
    <User Name="D"/>
    <User Name="A"/>
</User>

Я хочу отсортировать это по Имя . Я загружаю этот XML, используя XDocument. Как я могу просмотреть этот xml, отсортированный по имени?

Ответы [ 2 ]

13 голосов
/ 09 февраля 2010

Вы можете сортировать, используя LINQ to Xml, если XmlDocument не соответствует действительности

XDocument input = XDocument.Load(@"input.xml");
XDocument output = new XDocument(
    new XElement("Users",
        from node in input.Root.Elements()
        orderby node.Attribute("Name").Value descending
        select node));
0 голосов
/ 10 февраля 2010
XDocument xdoc = new XDocument(
    new XElement("Users",
        new XElement("Name", "Z"),
        new XElement("Name", "D"),
        new XElement("Name", "A")));

var doc = xdoc.Element("Users").Elements("Name").OrderBy(n => n.Value);
XDocument doc2 = new XDocument(new XElement("Users", doc));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...