Я начал сегодня работать с XML-файлом на C#, и я действительно не знаю, как выполнить эту задачу.Показать в ListBox.Text содержимое файла XML
У меня есть этот XML:
<Units>
<Unit>
<UNIT_NAME>First</UNIT_NAME>
<SRC>
<SRC_NAME>a</SRC_NAME>
<SUB_SRC_NAME>
<SUB_SRC_NAME_A>i_first_srt_alfa</SUB_SRC_NAME_A>
<SUB_SRC_NAME_A>i_first_srt_beta</SUB_SRC_NAME_A>
</SUB_SRC_NAME>
<SRC_NAME>b</SRC_NAME>
<SUB_SRC_NAME>
<SUB_SRC_NAME_A>alfa</SUB_SRC_NAME_A>
<SUB_SRC_NAME_A>beta</SUB_SRC_NAME_A>
</SUB_SRC_NAME>
</SRC>
<DOC>
<DOC_NAME>i_first_doc</DOC_NAME>
<SUB_DOC_NAME>
<SUB_DOC_NAME_A>alfa</SUB_DOC_NAME_A>
<SUB_DOC_NAME_A>beta</SUB_DOC_NAME_A>
</SUB_DOC_NAME>
</DOC>
<TST>
<TST_NAME>i_first_tst</TST_NAME>
<SUB_TST_NAME>
<SUB_TST_NAME_A>alfa</SUB_TST_NAME_A>
<SUB_TST_NAME_A>beta</SUB_TST_NAME_A>
</SUB_TST_NAME>
</TST>
</Unit>
<Unit>
<UNIT_NAME>Second</UNIT_NAME>
<SRC>
<SRC_NAME>c</SRC_NAME>
<SUB_SRC_NAME>
<SUB_SRC_NAME_A>alfa</SUB_SRC_NAME_A>
<SUB_SRC_NAME_A>beta</SUB_SRC_NAME_A>
</SUB_SRC_NAME>
<SRC_NAME>d</SRC_NAME>
<SUB_SRC_NAME>
<SUB_SRC_NAME_A>alfa</SUB_SRC_NAME_A>
<SUB_SRC_NAME_A>beta</SUB_SRC_NAME_A>
</SUB_SRC_NAME>
</SRC>
<DOC>
<DOC_NAME>i_first_doc</DOC_NAME>
<SUB_DOC_NAME>
<SUB_DOC_NAME_A>i_first_doc_alfa</SUB_DOC_NAME_A>
<SUB_DOC_NAME_A>i_first_doc_beta</SUB_DOC_NAME_A>
</SUB_DOC_NAME>
</DOC>
<TST>
<TST_NAME>i_first_tst</TST_NAME>
<SUB_TST_NAME>
<SUB_TST_NAME_A>i_first_tst_alfa</SUB_TST_NAME_A>
<SUB_TST_NAME_A>i_first_tst_beta</SUB_TST_NAME_A>
</SUB_TST_NAME>
</TST>
</Unit>
</Units>
И я хочу показать в ListBox в следующем формате:
First
First -- a
First -- b
Second
Second -- c
Second -- d
Это мой текущий код:
XmlNodeList xnUnitList = xml.SelectNodes("/Units/Unit");
foreach (XmlNode xn in xnUnitList)
{
string UNIT_NAME = xn["UNIT_NAME"].InnerText;
listBox1.Items.Add(UNIT_NAME);
XmlNodeList SRC =xn.SelectNodes("/Units/Unit/SRC");
foreach (XmlNode node in SRC)
{
string SRC_NAME = node["SRC_NAME"].InnerText;
listBox1.Items.Add(UNIT_NAME+"--" +SRC_NAME);
}
}
Но результат показан следующим образом:
First
First -- a
First -- c
Second
Second -- a
Second -- c
Почему эти a
и c
появляются снова и почему b
и d
отсутствуют?
спасибо большое! работает! –