簡體   English   中英

如何使用 GetElementsByTagName/SelectNode/SelectSingleNode 檢索 XML 的特定標簽內的標簽?

[英]How to retrieve tags inside certain tag for XML using GetElementsByTagName/SelectNode/SelectSingleNode?

假設我有一個 XML 這種格式:

<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>

如何只檢索食物名稱並將它們放入 ASP.NET web 表單文本框?

這是我當前的代碼:

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;

此代碼將檢索飲料名稱而不是食品名稱。 如何讓它讀取 FOOD 標簽中的 NAME 標簽?

通過使用XmlNode.SelectNodes方法並提供 XPath。

var foodElements = root.SelectNodes("FOOD/NAME");

Console.WriteLine(foodElement[0].InnerText);
Console.WriteLine(foodElement[1].InnerText);
Console.WriteLine(foodElement[2].InnerText);

樣本 .NET 小提琴

基本xml解析。

這個:

    {
        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: 在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM