读取XML文件并生成DataTable

XML格式如下:

<?xml version="1.0" encoding="gb2312"?>
<indexs>
  <index>
    <time>00:00:04:839</time>
    <content>内容</content>
  </index>
  <index>
    <time>00:00:12:707</time>
    <content>内容</content>
  </index>

</indexs>

代码如下:

/// <summary>
        /// 从XML文件获取数据
        /// </summary>
        /// <param name="dataGridView">数据显示控件</param>
        /// <param name="fileName">文件名</param>
        /// <param name="filePath">路径</param>
        public void LoadIndexInfo(DataGridView dataGridView,string fileName,string filePath)
        {
            //获取xml文件名
            string xmlName = filePath.Substring(0,filePath.LastIndexOf('\\')) + "\\" + fileName.Substring(0,fileName.LastIndexOf('.')) + ".xml";

            try
            {
                //节点标题
                string[] header = { "时间","内容" };
                XmlDocument xmlDoc = new XmlDocument();
                xmlDoc.Load(xmlName);
                //根节点
                XmlElement root = xmlDoc.DocumentElement;
                //index元素节点
                XmlElement index = (XmlElement)root.SelectSingleNode("index");

                if (index == null)
                {
                    while (dataGridView.Rows.Count > 0)
                    {
                        dataGridView.Rows.RemoveAt(0);
                    }
                }

                //index节点下的节点列表
                XmlNodeList nodeList = index.ChildNodes;
                //设置头部
                DataTable dt = new DataTable();

                //获取列名
                for (int i = 0; i < header.Length; i++)
                {
                    DataColumn dc = new DataColumn(header[i]);
                    dt.Columns.Add(dc);
                }
                XmlNodeList indexs = root.GetElementsByTagName("index");
                for (int k = 0; k < indexs.Count; k++)
                {
                    DataRow dr = dt.NewRow();
                    for (int i = 0; i < nodeList.Count; i++)
                    {
                        dr[i] = indexs[k].ChildNodes[i].InnerText;
                    }
                    dt.Rows.Add(dr);
                }
                dt.DefaultView.Sort = dt.Columns["时间"] + " ASC";
            }
            catch(Exception e)
            {
                throw e;
            }
        }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念
xml文件介绍及使用
xml编程(一)-xml语法
XML文件结构和基本语法
第2章 包装类
XML入门的常见问题(二)
Java对象的强、软、弱和虚引用
JS解析XML文件和XML字符串详解
java中枚举的详细使用介绍
了解Xml格式
XML入门的常见问题(四)
深入SQLite多线程的使用总结详解
PlayFramework完整实现一个APP(一)
XML和YAML的使用方法
XML轻松学习总节篇