嗨大家下午好,我的问题是:读取多个XML文件和订购列表视图
我写代码来:
读取多个文件:用打开文件对话框,如果我选择更多的人生指明只读一个文件比一个程序只需要一个,我想我可以使用一个foreach但我不知道如何实现。
订单的XML节点到一个列表视图中,我有一个列表视图和输出必须是这样的:
Test Name Limit Judgment Measurement High Limit Low Limit
Main__checkt 0 3 5 3
Main__Initia 0 4 4 3
Main__Serial 0 3 4 3
但我的输出是这样的:
Test Name Limit Judgment Measurement High Limit Low Limit
Main__Initia 0 3 5 3
Main__Serial 0 3 5 3
Main__Cylind 0 3 5 3
该程序将第一行和第一行在不同的列如何我可以订购?
这是我的XML文件的样本:
这是代码:
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog();
ofd.Filter = "XML | *.xml";
ofd.Multiselect = true;
ofd.ShowDialog();
XmlDocument xml = new XmlDocument();
xml.Load(ofd.FileName); // suppose that myXmlString contains "<Names>...</Names>"
ListViewItem lvi;
XmlNodeList xnList = xml.SelectNodes("/LogBatch/LogTestplan/LogTest");
foreach (XmlNode xn in xnList)
{
string tnam = xn["TestName"].InnerText;
lvi = new ListViewItem();
lvi.Text = tnam;
listView1.Items.Add(lvi);
XmlNodeList xnList2 = xml.SelectNodes("/LogBatch/LogTestplan/LogTest/LogLimit");
foreach (XmlNode xn2 in xnList2)
{
string limjud = xn2["LimitJudgment"].InnerText;
string limlm = xn2["LimitLastMeasuredValue"].InnerText;
string limhl = xn2["LimitHighLimit"].InnerText;
string limlw = xn2["LimitLowLimit"].InnerText;
lvi.SubItems.Add(limjud);
lvi.SubItems.Add(limlm);
lvi.SubItems.Add(limhl);
lvi.SubItems.Add(limlw);
string nomval = "4";
lvi.SubItems.Add(nomval);
string devstd = "0.46291";
lvi.SubItems.Add(devstd);
string cp = "0.72";
lvi.SubItems.Add(cp);
}
}
}
请帮助。 谢谢。 最好的问候。
非常感谢您的帮助,我会按照您的建议:)即时新的论坛写作,我在这里学到很多东西。 – 2014-09-06 19:55:05