Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C#
  4. LINQ, XML to tree class

LINQ, XML to tree class

Scheduled Pinned Locked Moved C#
csharpdatabaselinqcomdata-structures
2 Posts 1 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • V Offline
    V Offline
    VickyC
    wrote on last edited by
    #1

    I have the following XML: <?xml version="1.0" encoding="utf-8" ?> <string xmlns="http://none.none.none/webservices"> <TREENODES xmlns:sql="urn:schemas-microsoft-com:xml-sql">    <TREENODE code="1" text="None" >       <TREENODE code="2" text="America" >          <TREENODE code="16128" text="AUTOS">             <TREENODE code="ATO" text="ATO" />             <TREENODE code="ATO" text="ATO" />          </TREENODE>          </TREENODE>       </TREENODE>    <TREENODE code="11" text="None" >       <TREENODE code="21" text="America" >          <TREENODE code="3" text="AUTOS">             <TREENODE code="ATO44" text="ATO5" />          </TREENODE>       </TREENODE>    </TREENODE> </TREENODES> </string> And this code to read the xml into class Hierarchy.             void client_ReadCompleted(object sender, ReadCompletedEventArgs e) {                   if (e.Error == null) {                         string s = e.Result.ToString();                         XDocument document = XDocument.Parse(s);                         var retVal = (from treeNode in document.Descendants("TREENODE")                                              select new Hierarchy() {                                                    Code = treeNode.Attribute("code").Value,                          &n

    V 1 Reply Last reply
    0
    • V VickyC

      I have the following XML: <?xml version="1.0" encoding="utf-8" ?> <string xmlns="http://none.none.none/webservices"> <TREENODES xmlns:sql="urn:schemas-microsoft-com:xml-sql">    <TREENODE code="1" text="None" >       <TREENODE code="2" text="America" >          <TREENODE code="16128" text="AUTOS">             <TREENODE code="ATO" text="ATO" />             <TREENODE code="ATO" text="ATO" />          </TREENODE>          </TREENODE>       </TREENODE>    <TREENODE code="11" text="None" >       <TREENODE code="21" text="America" >          <TREENODE code="3" text="AUTOS">             <TREENODE code="ATO44" text="ATO5" />          </TREENODE>       </TREENODE>    </TREENODE> </TREENODES> </string> And this code to read the xml into class Hierarchy.             void client_ReadCompleted(object sender, ReadCompletedEventArgs e) {                   if (e.Error == null) {                         string s = e.Result.ToString();                         XDocument document = XDocument.Parse(s);                         var retVal = (from treeNode in document.Descendants("TREENODE")                                              select new Hierarchy() {                                                    Code = treeNode.Attribute("code").Value,                          &n

      V Offline
      V Offline
      VickyC
      wrote on last edited by
      #2

      FYI: I should have done             public static List<Hierarchy> GetHierarchy(XContainer root) {                   List<Hierarchy> retVal = new List<Hierarchy>();                   var children = from treenode in root.Descendants("TREENODE")                                        select treenode;                   foreach (XNode xn in root.Nodes()) {                         Hierarchy node = new Hierarchy();                         node.Code = ((XElement)xn).Attribute("code").Value.ToString();                         node.Text = ((XElement)xn).Attribute("text").Value.ToString();                         retVal.Add(node);                         node.Hierarchies = GetHierarchy((XContainer)xn);                   }                   return retVal;             }

      1 Reply Last reply
      0
      Reply
      • Reply as topic
      Log in to reply
      • Oldest to Newest
      • Newest to Oldest
      • Most Votes


      • Login

      • Don't have an account? Register

      • Login or register to search.
      • First post
        Last post
      0
      • Categories
      • Recent
      • Tags
      • Popular
      • World
      • Users
      • Groups