1

我想要做的是显示来自所选 xml 文件的所有相关数据。我已经声明要搜索的节点路径是XmlNodeList xnList = xml.SelectNodes("/Patient/Patient/Name");. 但是,我的输出仅显示最后一个数据,而不是所需路径的整体数据。

这是我的 xml 文件。

   <Patient> 
  <Patient>
    <LevelPriority>0</LevelPriority>
    <Name>w</Name>
    <Id>1</Id> 
  </Patient>      
  <Patient>
    <LevelPriority>0</LevelPriority>
    <Name>asf</Name>
    <Id>2</Id> 
  </Patient> 
  <Patient>
    <LevelPriority>0</LevelPriority>
    <Name>add</Name>
    <Id>3</Id>        
</Patient>

这是我的输出。

在此处输入图像描述

我希望它出现的是:

加入

而不仅仅是最后的数据add

这是我在 viewForm 中的代码。

namespace SliceLink
{
    public partial class ViewForm : Form
    {           
        public Form3()
        {
            InitializeComponent();
            XmlDocument xml = new XmlDocument();            
            xml.Load("C:\\Users\\HDAdmin\\Documents\\SliceEngine\\SliceEngine\\bin\\Debug\\saya.xml");
            XmlNodeList xnList = xml.SelectNodes("/Patient/Patient/Name");            
            foreach (XmlNode xn in xnList)
            {
                string name = xn.InnerText;                   
                textBox1.Text = name;
            }

        }


    }
}

如何使其查看所需的所有数据?

4

1 回答 1

2

您必须将新文本 ( name) 附加到已经存在的文本中:

foreach (XmlNode xn in xnList)
{
    string name = xn.InnerText;
    textBox1.Text = textBox1.Text + name;
}

此外,您可能需要插入一些分隔符(此处:空格字符):

foreach (XmlNode xn in xnList)
{
    string name = xn.InnerText;
    textBox1.Text = textBox1.Text + " " + name;
}

textBox1.Text.Length如果您不想在第一项之前插入空格,请检查为零。

于 2012-08-07T08:53:07.643 回答