【问题标题】:Parsing an XML document and [closed]解析 XML 文档并 [关闭]
【发布时间】:2014-09-04 11:47:52
【问题描述】:

我基本上只想将我的 XML 文档的名称打印到文本框中。

所有这些都会打印名字。

XmlDocument xDoc = new XmlDocument();
xDoc.Load("my documents address");
TextBox2.Text = xDoc.SelectSingleNode("Web_Service/Food/Name").InnerText;

我想做的是这样的......

String[] output;

XmlDocument xDoc = new XmlDocument();
xDoc.Load("my documents address");

foreach(Name i in xDoc){
    append i to output;
}

TextBox2.Test = output;

或类似的东西。如果有人可以帮助我,我将不胜感激。

所以打印出来:

咖喱、鸡肉、汉堡、史蒂夫、香料等

【问题讨论】:

    标签: c# xml foreach


    【解决方案1】:

    所以你只想连接 Name 元素的值?如果是这样,可以使用LINQ to XMLstring.Join 方法轻松完成:

    var xmlDocument = XDocument.Load("path");
    var names = xmlDocument.Descendants("Name").Select(x => (string)x);
    TextBox2.Text = string.Join(", ", names);
    

    【讨论】:

      【解决方案2】:

      @Selman 的回答中也建议使用 LINQ-to-XML 是一个不错的选择。但是如果你想坚持使用XmlDocument,你可以使用SelectNodes()来获取所有匹配的节点:

      List<string> output = new List<string>();
      foreach(XmlNode name in xDoc.SelectNodes("Web_Service/Food/Name"))
      {
          output.Add(name.InnerText);
      }
      TextBox2.Text = string.Join(", ", output);
      

      【讨论】:

      • 这就是我要找的,非常感谢。
      【解决方案3】:

      试试类似的东西

      http://msdn.microsoft.com/en-us/library/system.xml.xmlnodelist.getenumerator(v=vs.110).aspx

      如果您发布输入 xml,我可以为您提供相应的 c# 代码

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-07-10
        • 1970-01-01
        • 1970-01-01
        • 2012-07-23
        • 2016-05-29
        相关资源
        最近更新 更多