如何按属性数字排序XDocument元素?

时间:2012-07-26 23:11:07

标签: c# xml linq linq-to-xml

所以我在列表上做了一个简单的排序

<POSTBACK id="0"></POSTBACK>

   XDocument input = XDocument.Load( Server.MapPath("~/App_Data/data.xml"));
        XDocument data =
            new XDocument(
                new XElement("POSTBACK",
                    from node in input.Root.Elements()
                    orderby node.Attribute("id").Value ascending
                    select node));

但当然按字母顺序排序,以便像这样的事情发生89,9,90等。

如何指定数字比较?

1 个答案:

答案 0 :(得分:2)

哇。嘿。没意识到它是如此简单......

 XDocument input = XDocument.Load( Server.MapPath("~/App_Data/data.xml"));
    XDocument data =
        new XDocument(
            new XElement("POSTBACK",
                from node in input.Root.Elements()
                orderby Convert.ToInt32( node.Attribute("id").Value)  ascending
                select node));