【问题标题】:printing list of xml nodes in c#在c#中打印xml节点列表
【发布时间】:2018-05-31 13:59:54
【问题描述】:

我需要一些帮助来获取 xml 节点列表并打印它们。

我的代码如下:

        XmlDocument doc = new XmlDocument();
        doc.Load("To44532.xml");
        XmlNode xn = doc.DocumentElement;
        foreach (XmlNode xn2 in xn)
        { Console.WriteLine(xn2); }
        Console.ReadLine();

我是 C# 新手,请提前接受我的歉意,询问这个基本问题。所以我想要完整的节点列表,然后在输出中打印它们。

我最终得到了这段代码,因为我想调试其他代码之一。我的想法是我想在 winforms 中显示特定的节点。我尝试了 if 语句,例如:

        foreach (XmlNode node in doc.DocumentElement)
        {
            if (node.Equals("DbtItm"))
            { ..... }

您能否建议实现它的最佳方法是什么?

【问题讨论】:

  • 节点不能等于字符串,而是节点名称。你应该像 "DbtItm".Equals(node.Name)

标签: c# xml winforms xmlnode xmlnodelist


【解决方案1】:

您可以按名称选择 XML 节点。

<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
 <book category="cooking">
   <title lang="en">Everyday Italian</title>
   <author>Giada De Laurentiis</author>
   <year>2005</year>
   <price>30.00</price>
</book>
<book category="children">
   <title lang="en">Harry Potter</title>
   <author>J K. Rowling</author>
   <year>2005</year>
   <price>29.99</price>
</book>
<book category="web">
   <title lang="en">Learning XML</title>
   <author>Erik T. Ray</author>
   <year>2003</year>
   <price>39.95</price>
 </book>
</bookstore>

例如,从上述 xml 中仅获取书籍作者和书籍年份。

        XmlDocument xml = new XmlDocument();
        xml.Load("XMLFile1.xml"); 

        XmlNodeList xnList = xml.SelectNodes("/bookstore/book");
        foreach (XmlNode xn in xnList)
        {
            string author = xn["author"].InnerText;
            string year = xn["year"].InnerText;
            Console.WriteLine(author+"-"+year);
        }

【讨论】:

  • 感谢你们的帮助。我想要实现的是通过以下代码完成的: XmlDocument doc = new XmlDocument(); doc.Load("To44532.xml"); XmlNodeList xxnn = doc.GetElementsByTagName("DbtItm"); foreach(xxnn 中的 XmlNode 节点){ .... }
  • 上面的代码将获取所有名为''Dbtitm''的节点列表,并将其存储在 xmlNodeList 对象中。然后从 foreach 每个节点 ''Dbtitm'' 将被迭代。
猜你喜欢
  • 2020-01-04
  • 1970-01-01
  • 1970-01-01
  • 2021-01-12
  • 1970-01-01
  • 1970-01-01
  • 2017-02-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多