循环列表框包含C#中的文件路径

时间:2014-04-20 12:00:16

标签: xml winforms c#-3.0

我非常怀疑在C#中合并xml多个文档我正在使用文件选择对话框选择多个xml文件,然后在列表框的完整文件路径中显示它。

在此之后我想将这些xml文件合并到一个xml文件中。

  try
            {
                XmlTextReader xmlread1 = new XmlTextReader("C:\\Users\\xml_zip\\xxx-20140220000508_1.xml");
                XmlTextReader xmlread2 = new XmlTextReader("C:\\Users\\xml_zip\\xxx-20140220000508_2.xml");

                DataSet ds = new DataSet();
                ds.ReadXml(xmlread1);
                DataSet ds2 = new DataSet();
                ds2.ReadXml(xmlread2);
                ds.Merge(ds2);
                ds.WriteXml("C:\\SamlpleMerge.xml");

上面的代码是示例代码。只有以下代码循环才能正常工作。

        try
        {

            while (listBoxfilelist.Items.Count > 0)
            {
                string filespath = listBoxfilelist.Items[0] as string;
                XmlTextReader xstread = new XmlTextReader(filespath);
                DataSet ds = new DataSet();
                ds.ReadXml(xstread);
                ds.Merge(ds);

                ds.WriteXml("C\\Newtest.xml");
            }

感谢您的时间和反馈。

1 个答案:

答案 0 :(得分:0)

你可以循环ListBox

DataSet dataSet = new DataSet();
for (Int32 i = 0; i < listBoxfilelist.Items.Count; i++)
{
    String path = listBoxfilelist.Items[i].ToString();
    if (!String.IsNullOrEmpty(path) && File.Exists(path))
    {
        XmlTextReader reader = new XmlTextReader(path);
        DataSet ds = new DataSet();
        ds.ReadXml(reader);
        dataSet.Merge(ds);
    }
}
dataSet.WriteXml("C:\\Newtest.xml");