zoukankan      html  css  js  c++  java
  • 解析xml文件保存到List中

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Xml;
    
    namespace testConsoleApplication1
    {
        class test解析xml文件
        {
            public static void Main()
            {
                List<List<string>> info = getFileList();
                Console.WriteLine("一共有" + info.Count + "项");
    
                foreach (List<string> liststr in info)
                {
                    foreach (string str in liststr)
                    {
                        Console.WriteLine(str);
                    }
                }
    
            }
            private static List<List<string>> getFileList()
            {
                string filename = @"D:\filesList.xml";
                List<List<string>> filelist = new List<List<string>>();
                List<string> tmpList = new List<string>();
                int i = -1;
                using (XmlReader reader = XmlReader.Create(filename)) //使用using不用显示释放资源
                {
                    //XmlReader reader = XmlReader.Create(filename);
                    while (reader.Read())
                    {
                        if (reader.IsStartElement())
                        {
                            switch (reader.Name)
                            {
                                case "List":
                                    Console.WriteLine("开始解析List");
                                    break;
                                case "fileItem":
                                    tmpList.Clear();
                                    //Console.WriteLine("Start <fileItem> element.");
                                    i++;
                                    Console.WriteLine("第" + i + "个数组");
                                    string attribute = reader["resid"];
                                    tmpList.Add(attribute);
                                    //if (attribute != null)
                                    //{
                                    //    Console.WriteLine("  Has attribute name: " + attribute);
                                    //}
                                    break;
                                case "atime":
                                    if (reader.Read())
                                    {
                                        tmpList.Add(reader.Value.Trim());
                                    }
                                    break;
                                case "ctime":
                                    if (reader.Read())
                                    {
                                        tmpList.Add(reader.Value.Trim());
                                    }
                                    break;
                                case "mtime":
                                    if (reader.Read())
                                    {
                                        tmpList.Add(reader.Value.Trim());
                                    }
                                    break;
                                case "name":
                                    if (reader.Read())
                                    {
                                        tmpList.Add(reader.Value.Trim());
                                    }
                                    break;
                                case "owner":
                                    if (reader.Read())
                                    {
                                        tmpList.Add(reader.Value.Trim());
                                    }
                                    break;
                                case "ownertype":
                                    if (reader.Read())
                                    {
                                        tmpList.Add(reader.Value.Trim());
                                    }
                                    break;
                                case "parent":
                                    if (reader.Read())
                                    {
                                        tmpList.Add(reader.Value.Trim());
                                    }
                                    break;
                                case "path":
                                    if (reader.Read())
                                    {
                                        tmpList.Add(reader.Value.Trim());
                                    }
                                    break;
                                case "quota":
                                    if (reader.Read())
                                    {
                                        tmpList.Add(reader.Value.Trim());
                                    }
                                    break;
                                case "size":
                                    if (reader.Read())
                                    {
                                        tmpList.Add(reader.Value.Trim());
                                    }
                                    break;
                                case "type":
                                    if (reader.Read())
                                    {
                                        tmpList.Add(reader.Value.Trim());
                                    }
                                    filelist.Add(tmpList);
                                    foreach (string tmp in tmpList)
                                    {
                                        Console.WriteLine(tmp);
                                    }
                                    break;
                            }
    
                        }
                    }
                }
                return filelist;
            }
    
        }
    
    }
    

    有bug
  • 相关阅读:
    GhostScript命令参数详解(转)
    西安电子科技大学week02-问题规约表示及其搜索技术
    西安电子科技大学week01-状态空间表示及其问题解决
    canal同步mysql数据
    Navicat连接mysql数据库报错2003
    fieldset可以实现在虚线框中写文字
    CSS盒模型简单介绍
    js变量数组和对象常用方法
    js数组方法大全
    IIFE和闭包和let
  • 原文地址:https://www.cnblogs.com/gitran/p/3644144.html
Copyright © 2011-2022 走看看