加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

简单的读取xml格式文件

发布时间:2020-12-16 02:12:12 所属栏目:百科 来源:网络整理
导读:static void xml2plain() { string src = "ec-news-2009-realsrc.xml"; string trg = "ec-news-2009-ref.xml"; XmlDocument xml = new XmlDocument(); XmlReaderSettings settings = new XmlReaderSettings(); settings.IgnoreComments = true; XmlReader re
        static void xml2plain()
        {
            string src = "ec-news-2009-realsrc.xml";
            string trg = "ec-news-2009-ref.xml";
            XmlDocument xml = new XmlDocument();
            XmlReaderSettings settings = new XmlReaderSettings();
            settings.IgnoreComments = true;
            XmlReader reader = XmlReader.Create(trg,settings);
            xml.Load(reader);

            XmlNodeList nodes = xml.GetElementsByTagName("seg");
            StringBuilder buf = new StringBuilder();
            int c = 0;
            bool s = false;
            int f_c = 1;
            foreach (XmlNode n in nodes)
            {
                string v = n.InnerText;
                v = v.Trim();
                buf.AppendLine(v);
            }
            File.WriteAllText(name1,buf.ToString(),Encoding.UTF8);
        }

这个比较简单,读取文件中所有节点名字为seg的xml的值,对于一般格式简单的文件很方便。

下面这个是从文件中读取数据,最终合并为一个文件。注意:默认读取文件夹中的文件是按照字母顺序读取的,对于按照数字排序的文件需要自定义。

        static void trans2cor()
        {
            string folder = @"D:DocumentsProjectsxml2plainxml2plainbinDebugtransgoogle-src";
            DirectoryInfo dir = new DirectoryInfo(folder);
            FileInfo[] files = dir.GetFiles("*.txt");
            StringBuilder buf = new StringBuilder();
            bool s = false;
            int length = 11;
            for (int i = 0; i < length; i++)
            {
                string name = folder + (i +1).ToString()+".txt";
                string[] lines = File.ReadAllLines(name,Encoding.Default);
                for (int j = 0; j < lines.Length; j++)
                {
                    string tmp = lines[j];
                    tmp = tmp.Trim();
                    if (s)
                    {
                        string tt = "";
                        for (int k = 0; k < tmp.Length; k++)
                        {
                            tt += tmp[k];
                            tt += " ";
                        }
                        tmp = tt.Trim();
                    }
                    if (tmp != "")
                    {
                        buf.AppendLine(tmp);
                    }
                }
            }
            File.WriteAllText("result.txt",Encoding.UTF8);
        }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读