Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 17th, 2012  |  syntax: None  |  size: 1.79 KB  |  hits: 12  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. Deserialise XML to Tree
  2. <DATA>
  3.   <NODES>
  4.     <NODE>
  5.        <ID>1</ID>
  6.        <CONTENT>Foo</CONTENT>
  7.        <ChildrenIds>
  8.            <Child>2</Child>
  9.            <Child>3</Child>
  10.        </ChildrenIds>
  11.        <Level>1</Level>
  12.     </NODE>
  13.      <NODE>
  14.        <ID>2</ID>
  15.        <CONTENT>Foo</CONTENT>
  16.        <ChildrenIds>
  17.            <Child>4</Child>              
  18.        </ChildrenIds>
  19.     </NODE>
  20.      <NODE>
  21.        <ID>3</ID>
  22.        <CONTENT>oo</CONTENT>
  23.        <ChildrenIds>
  24.          <Child>5</Child>
  25.        </ChildrenIds>
  26.     </NODE>
  27.      <NODE>
  28.        <ID>4</ID>
  29.        <CONTENT>Doo</CONTENT>
  30.        <ChildrenIds/>
  31.     </NODE>
  32.      <NODE>
  33.        <ID>5</ID>
  34.        <CONTENT>Koo</CONTENT>
  35.        <ChildrenIds/>
  36.     </NODE>
  37.   </NODES>
  38. </DATA>
  39.        
  40. public class Tree
  41. {
  42.     public Tree()
  43.     {
  44.         ChildrenNodes = new List<TreeStructure>();
  45.     }
  46.  
  47.     public List<Tree> ChildrenNodes { get; set; }
  48.     public int Id { get; set; }
  49.     public string Content {get; set;}
  50. }
  51.        
  52. usign system.runtime.serialization
  53.  
  54. [datacontract]
  55. public class Tree
  56. {
  57.     public Tree()
  58.     {
  59.         ChildrenNodes = new List<TreeStructure>();
  60.     }
  61.     [datamember]
  62.     public List<Tree> ChildrenNodes { get; set; }
  63.     [datamember]
  64.     public int Id { get; set; }
  65.     [datamember]
  66.     public string Content {get; set;}
  67. }
  68.  
  69. void serialize(Tree tree,string filename)
  70. {
  71. datacontractserializer serializer = new datacontracetserializer (typeof(Tree));
  72. system.xml.xmltextwriter writer = new xmltextwriter(filename,Encoding.UTF32);
  73. serializer.WriteObject(writer,tree);
  74. writer.close();
  75. }
  76.  
  77. void deserialize(ref Tree tree,string filename)
  78. {
  79.     xmltextreader reader = new xmltextreader*new streamreader(filename, Encoding.UTF32));
  80. DataContracetSerializer deser = new datacontracetserializer(typeof(Tree));
  81. trr = (Tree)deserializer.readObject(reader);
  82. reader.close()
  83. }