简体   繁体   English

如何在文本框中显示 xmlnodes

[英]How to display xmlnodes in textbox

I'm curious how you can display a specific node content in a textbox我很好奇如何在文本框中显示特定节点内容

My XML file:我的 XML 文件:

<?xml version="1.0"?>
<root>
  <debug_mode>true</debug_mode>
  <filter>
    <filter_item>1158</filter_item>
    <filter_item>1159</filter_item>
    <filter_item>1160</filter_item>
  </filter>
</root>

My cs file:我的.cs文件:

 public MainWindow()
        {
            InitializeComponent();

            XmlDocument Xdoc = new XmlDocument();

            Xdoc.Load(xmldoc);
            XmlElement el = (XmlElement)Xdoc.SelectSingleNode("root/filter/filter_item");         
            tbOrderDisplay.Text = el.InnerText;

        }

Innertext sadly doesn't display anything in my textbox, is there a way to apply a foreach to show every item?遗憾的是,Innertext 没有在我的文本框中显示任何内容,有没有办法应用 foreach 来显示每个项目? (I'm still learning how to work with c#) (我仍在学习如何使用 c#)

Something like this should work:这样的事情应该工作:

var root = XDocument.Load(xmldoc).Root;
var filter = root.Element("filter");

foreach (var filterItem in filter.Descendants("filter_item"))
{
    tbOrderDisplay.Text += filterItem.Value + "\n";
}

Or shorter:或更短:

tbOrderDisplay.Text = string.Join("\n",
    filter.Descendants("filter_item").Select(f => f.Value));

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM