当前位置: 移动技术网 > IT编程>开发语言>c# > c#批量整理xml格式示例

c#批量整理xml格式示例

2019年07月18日  | 移动技术网IT编程  | 我要评论
复制代码 代码如下:using system;using system.collections.generic;using system.componentmodel;us

复制代码 代码如下:

using system;
using system.collections.generic;
using system.componentmodel;
using system.data;
using system.drawing;
using system.text;
using system.windows.forms;
using system.xml;
using system.io;

namespace windowsapplication1
{
    public partial class form1 : form
    {
        public form1()
        {
            initializecomponent();
        }

        private void button1_click(object sender, eventargs e)
        {
            if (listbox1.items.count == 0)
            {
                messagebox.show("no file name ");
            }
            else
            {
                func_searchfiles(sender, e);//取得文件名
            }
            //listbox1.items.clear();
        }
        private void form1_dragdrop(object sender, drageventargs e)
        {
            string path = ((system.array)e.data.getdata(dataformats.filedrop)).getvalue(0).tostring();
            listbox1.items.add ( path);//显示文件夹目录

        }

        private void form1_dragenter(object sender, drageventargs e)
        {
            if (e.data.getdatapresent(dataformats.filedrop))
                e.effect = dragdropeffects.link;
            else
                e.effect = dragdropeffects.none;
        }

        private void func_searchfiles(object sender, eventargs e)
        {
            // 获取指定文件夹目录
            string filepath = listbox1.items[0].tostring();
            directoryinfo basedir = new directoryinfo(filepath);
            // 获取指定文件夹下的所有文件。
            // 如果你需要获取特定格式的文件,如.html 结尾的,可以写成 basedir.getfiles("*.html");
            fileinfo[] files = basedir.getfiles("*.xml");
            // 定义文件名字符串
            progressbar1.visible = true;
            progressbar1.maximum = files.length;
            progressbar1.minimum = 0;
            string filenames = string.empty;
            for (int i = 0; i < files.length; i++)
            {
                // 获取每个文件名,并记录到 字符串 filenames 里
                // 如果需要获取文件的完整路径名, files[i].fullname;
                //filenames += files[i].fullname + ",";

                string xmlfile = @files[i].fullname;
                memorystream mstream = new memorystream(1024);
                xmltextwriter writer = new xmltextwriter(mstream, null);
                xmldocument xmldoc = new xmldocument();
                writer.formatting = formatting.indented;
                xmldoc.load(xmlfile);
                xmldoc.writeto(writer);
                writer.flush();
                writer.close();
                encoding encoding = encoding.getencoding("utf-8");
                listbox1.items.add("正在处理:" + @files[i].fullname);
                listbox1.selectedindex = listbox1.items.count - 1;
                progressbar1.value = i+1;
                //this.listbox1.text += "\r\n正在处理:" + @files[i].fullname + "...\r\n";
                //file myfile = new file
                xmldoc.save(@files[i].fullname);
                mstream.close();
            }
            // 显示到 label 标签上
            listbox1.items.add("finish!!!!");
            listbox1.selectedindex = listbox1.items.count - 1;
        }

        private void button2_click(object sender, eventargs e)
        {

           // this.listbox1.selecteditem = listbox1.items.indexof(0);//保持文本显示在最后一行
            listbox1.items.clear();
            progressbar1.visible = false;
            progressbar1.value = 0;
        }

    }
}

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网