skip to Main Content

Let say I have a XML with this format:

<TEST>
    <DRINK>
        <NAME>Ice tea</NAME>
        <NAME>Milo</NAME>
        <NAME>Coffee</NAME>
    </DRINK>
    <FOOD>
        <NAME>Fried Rice</NAME>
        <NAME>Hamburger</NAME>
        <NAME>Fried Noodles</NAME>
    </FOOD>
</TEST>

How to retrieve only food names and put them in the ASP.NET web form textbox?

This is my current code:

XmlDocument doc = new XmlDocument();
doc.Load(filepath);
root = doc.DocumentElement;
TextBox1.Text = root.GetElementsByTagName("NAME")[0].InnerText;
TextBox2.Text = root.GetElementsByTagName("NAME")[1].InnerText;
TextBox3.Text = root.GetElementsByTagName("NAME")[2].InnerText;

This code will instead retrieve drink names instead of food names. How to make it read NAME tags in FOOD tag?

2

Answers


  1. By using XmlNode.SelectNodes Method with providing the XPath.

    var foodElements = root.SelectNodes("FOOD/NAME");
    
    Console.WriteLine(foodElement[0].InnerText);
    Console.WriteLine(foodElement[1].InnerText);
    Console.WriteLine(foodElement[2].InnerText);
    

    Sample .NET Fiddle

    Login or Signup to reply.
  2. Basic xml parsing.

    this:

        {
            string sXML
                =
              @"<TEST>
                    <DRINK>
                        <NAME>Ice tea</NAME >   
                        <NAME>Milo</NAME >   
                        <NAME>Coffee</NAME> 
                    </DRINK>   
                    <FOOD>
                        <NAME>Fried Rice</NAME>      
                        <NAME>Hamburger</NAME>
                        <NAME>Fried Noodles</NAME>         
                    </FOOD>
                </TEST>";
    
    
            XmlDocument myXml = new XmlDocument();
            myXml.LoadXml(sXML);
    
            XmlNodeList myNodes = myXml.SelectNodes("TEST/FOOD/NAME");
    
            foreach (XmlNode OneNode in myNodes)
            {
                Debug.Print(OneNode.InnerText);
            }
        }
    

    output:
    enter image description here

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search