Sort XML nodes alphabetically on attribute name

前端 未结 3 1436
栀梦
栀梦 2021-01-07 13:17

I have an XML document for which I want to sort specific nodes alphabetically.

XML document


    

        
3条回答
  •  悲哀的现实
    2021-01-07 13:45

    if you are using .Net>=3.5 then you can use linq to do this for you like this

    var xmlString = "YOUR XML STRING";
    var doc = XDocument.Parse(xmlString);
    
    var list = doc. Descendants("int").select(n=>new {Name = n.Attribute("name").Value, Value = n.Value});
    var sortedList = list.OrderBy(l=>l.Name);
    

    EDIT not a pro in VB but try this - pls there may be syntactical errors in here

    dim xmlString as string
    xmlString = "YOUR XML STRING"
    dim doc as XDocument()
    doc = XDocument.Parse(xmlString)
    dim list = doc.Descendants("int").select(n=>new {Name = n.Attribute("name").Value, Value = n.Value}).OrderBy(l=>l.Name)
    

    LINQ stands for Language Integrated Query.. and is a lot easier and Uniform that the thing you are using currently.. you can read more here

提交回复
热议问题