Как я могу отсортировать XDocument по атрибуту?

У меня есть некоторый XML

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

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

13
задан Liath 4 February 2014 в 07:33
поделиться

2 ответа

Вы можете сортировать, используя 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));
14
ответ дан 2 December 2019 в 00:31
поделиться
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));
0
ответ дан 2 December 2019 в 00:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: