首页 > 解决方案 > 如何在 C# 中读取另一个 xml 标签内的标签?

问题描述

如何读取另一个 xml 标签内的标签?

例子:

<site id = "1" clas = "black"><test> Value </test></site>

我想阅读里面的测试标签<site>。我想归还里面的东西。

我的代码:

XmlReader xmlReader = XmlReader.Create("site.xml");
while (xmlReader.Read())
{
    if ((xmlReader.NodeType == XmlNodeType.Element) && (xmlReader.Name == "site"))
    {
        if (xmlReader.HasAttributes)
        {
            string test = xmlReader.GetAttribute("id");
            Console.WriteLine(test);
        }
    }
}

标签: c#xml

解决方案


you can use XMLNodeList like below

var doc = new XmlDocument();
doc.Load(sites.xml);
XmlDocument xml = new XmlDocument();
xml.LoadXml(doc.DocumentElement.OuterXml.ToString());
XmlNodeList xnList = xml.SelectNodes("/site/test");
 foreach (XmlNode xn in xnList)
            {
                if (xn["name"].InnerText == "test")
                {
                  string  testvalue = xn["test"].InnerText;
                }
            }

推荐阅读