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>

これが私の出力です。

ここに画像の説明を入力

私がそれを表示したいのは:

w asf 追加

最後のデータだけではありません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 に答える