XML Parsing

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Mariusz
    New Member
    • Feb 2010
    • 3

    #1

    XML Parsing

    I have built an XML file like this:
    Code:
    <?xml version="1.0" ?>
    <Drives>
     
     <Server id="Server01">
      <Share>
        <Letter>A</Letter>
    	<Folder>Share1</Folder>
      </Share>
      <Share>
        <Letter>B</Letter>
    	<Folder>Share2</Folder>
      </Share>
      <Share>
        <Letter>C</Letter>
    	<Folder>Share3</Folder>
      </Share>
     </Server>
      
     <Server id="Server02">
      <Share>
        <Letter>D</Letter>
    	<Folder>Share1</Folder>
      </Share>
      <Share>
        <Letter>E</Letter>
    	<Folder>Share10</Folder>
      </Share>
     </Server>
     
     <Server id="Server03">
      <Share>
        <Letter>F</Letter>
    	<Folder>Share11</Folder>
      </Share>
     </Server>
     
     </Drives>
    And got some code:
    Code:
    (...)
                XmlDocument xd = new XmlDocument();
                xd.Load(OfficeXMLPath);
                XmlNodeList nodelist = xd.SelectNodes("/Drives/Server"); // get all <Server> nodes
    
                //UNCPahtTextBox1.Text = OfficeXMLPath;
                foreach (XmlNode node in nodelist) // for each <Server> node
                {
                    string ServerID = node.Attributes.GetNamedItem("id").Value;
    
                    { 
                        XmlNode n = node.SelectSingleNode("Share");      // get the one <Share> node
                        string Letter = n.ChildNodes.Item(0).InnerText;
                        string Folder = n.ChildNodes.Item(1).InnerText;
    
                        comboBox2.Items.Add(Letter);
                    }
                } // foreach <Server> node
    (,,,)
    Now, The code above only adds to combobox First <letter> of each <share>, and does not get any second... or third <share> values in <Server> node. I am aware that SelectSingleNod e Selects only one, but I can't figure out at this moment what/how I should proceed with it. Any ideas?
    I have created the same in Powershell and I am trying to translate this one into c#, but looks like there is something I am missing.

    Thank you
  • Mariusz
    New Member
    • Feb 2010
    • 3

    #2
    K, nevermind :) I got it.... :D

    Comment

    • Mariusz
      New Member
      • Feb 2010
      • 3

      #3
      something like this I had to come up with
      Code:
                      XmlNodeList lstShare = node.ChildNodes;
                      foreach (XmlNode nodeShare in lstShare) {}

      Comment

      Working...