• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > 读写XML文件的内容并将其显示在ListView控件上的方法

读写XML文件的内容并将其显示在ListView控件上的方法

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了java读写xml文件,c#xml文件读写,c#读写xml配置文件,qt 读写xml,mfc读写xml等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

XML文件由内容和标记组成。通过标记包围内容的方式将大部门内容包含在元素中[1]。XML的节点便于程序配置进行灵活的扩展,特别是存在以数组格式的配置信息时,增加行或列只需要修改XML文件而无需修改源代码。

1. XML文件介绍

(1)声明

XML 文档的第一行可以是一个 XML 声明[1]这是文件的可选部分,它将文件识别为 XML 文件,有助于工具和人类识别 XML(不会误认为是 SGML 或其他标记)。可以将这个声明简单地写成 <?xml?>,或包含 XML 版本<?xml version="1.0"?>,甚至包含字符编码,比如针对 Unicode 的 <?xml version="1.0" encoding="utf-8"?>。

(2)根节点创建

根节点的开始和结束标记用于包围 XML 文档的内容。一个文件只能有一个根节点,并且需要使用 “包装器” 包含它[1]。

(3)子节点

字节点的开辟就没有数量限制了,而且子节点内也可以嵌套子节点。最小的节点就是被标记的内容。

<?xml version="1.0" encoding="utf-8"?>
<UIList>
  <column>
   <colname>
    <colvalue>55</colvalue>
   </colname>
<colname>
    <colvalue>85</colvalue>
   </colname>
  </column>
<row>
   <rowvalue>
    <columnvalue>1</columnvalue>
    <columnvalue>9</columnvalue>
    </rowvalue>
   <rowvalue>
    <columnvalue>2</columnvalue>
    <columnvalue>9</columnvalue>
   </rowvalue>
</row>
</UIList>

</div>

2. 读取XML文件的内容并将其显示在ListView控件上

XML文件读取的逻辑是从根节点出发,根据标记找到标记数组,然后遍历标记数组,将对应值读取出来。为了让现实结果更加直观,就将结果显示在上一篇文章提到的ListView控件上。

(1)最开始的一步是导入命名空间。该命名空间内有XML类,通过该类方法能够实现XML文件的读取。

using System.Xml;

(2)加载xml文件

XmlDocument doc = new XmlDocument();
doc.Load("UIConfig.xml");    //加载Xml文件

(3)获取根节点

XmlElement rootElem = doc.DocumentElement;

(4)获取节点数组

节点数组是以根节点为基础的,在根节点中根据标记将其内容打入数组。

XmlNodeList ColumnpersonNodes = rootElem.GetElementsByTagName("colname");

(5)遍历节点数组并将值显示在ListView上

private void Form1_Load(object sender, EventArgs e)
    {

      //ListView
      listView1.View = View.Details;
      //XML
      //加载xml文件
      XmlDocument doc = new XmlDocument();
      doc.Load("UIConfig.xml");  //加载Xml文件 
      XmlElement rootElem = doc.DocumentElement;  //获取根节点
      XmlNodeList ColumnpersonNodes = rootElem.GetElementsByTagName("colname"); //获取列节点数组
      foreach (XmlNode node in ColumnpersonNodes)
      {
        //将列数据写入到ListView中
        XmlNodeList subNodes = ((XmlElement)node).GetElementsByTagName("colvalue"); 
        foreach (XmlNode subNode in subNodes)
        {
          //将行数据写入到ListView中
          string strWidth = subNode.InnerText;
          int Width = Convert.ToInt32(strWidth);
          listView1.Columns.Add(strWidth, Width, HorizontalAlignment.Center);

        }
      }

      XmlNodeList RowpersonNodes = rootElem.GetElementsByTagName("rowvalue"); //获取行节点数组 
      foreach (XmlNode node in RowpersonNodes)
      {
        ListViewItem lvi = new ListViewItem();//开辟行数据空间
        XmlNodeList subNodes = ((XmlElement)node).GetElementsByTagName("columnvalue"); 
        lvi.SubItems[0].Text = subNodes[0].InnerText;//将第一个值给行头

        int Count = subNodes.Count;
        for (int i = 1; i < Count; i++)//遍历第一个值之外的值
        {
          //将行数据写入到ListView中
          string str = subNodes[i].InnerText;
          lvi.SubItems.Add(str);
        }
        listView1.Items.Add(lvi);
      }
    }

</div>

3. 写入XML文件

XML文件的写入和读取的逻辑一样,从根节点出发,根据标记找到标记数组,然后遍历标记数组,修改对应的值,最后保存。

给Form1添加关闭事件,在该事件中实现XML的修改。

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
    {
      XmlDocument doc = new XmlDocument();
      doc.Load("UIConfig.xml");  //加载Xml文件 
      //得到listview现有的列尺寸
      XmlElement rootElem = doc.DocumentElement;  //获取根节点
      XmlNodeList ColumnpersonNodes = rootElem.GetElementsByTagName("colvalue"); //获取person子节点集合 
      for(int i = 0; i < this.listView1.Columns.Count; i++)
      {
         //将现有的列尺寸写入xml文件
        int colWidth = this.listView1.Columns[i].Width;//每一列的实际宽度
         //将列数据写入到ListView中
        ColumnpersonNodes[i].InnerText = colWidth.ToString();
        doc.Save("UIConfig.xml"); 
      }    
    }


</div>

以上这篇读写XML文件的内容并将其显示在ListView控件上的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 读写XML文件的内容并将其显示在ListView控件上的方法

相关文章

  • 2017-05-28Win Form 的 Splitter 使用心得与技巧
  • 2017-05-28C#实现基于IE内核的简单浏览器完整实例
  • 2017-05-28winform实现限制及解除鼠标移动范围的方法
  • 2017-05-28WinForm实现页面按钮定时隐藏功能
  • 2017-10-11C# WinForm中实现快捷键自定义设置实例
  • 2017-05-28Url相对路径的问题总结
  • 2017-05-28使用checked语句防止数据溢出的解决方法
  • 2017-05-28C#中数组、ArrayList和List三者的区别详解及实例
  • 2017-05-28Winform之TextBox输入日期格式验证yyyy-mm-dd
  • 2017-05-28C#实现多线程写入同一个文件的方法

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 详谈C# 图片与byte[]之间以及byte[]与string之间的转换
    • VS2012 程序打包部署图文详解
    • FtpHelper实现ftp服务器文件读写操作(C#)
    • C#从控制台读取字符串的方法
    • C#把数组中的某个元素取出来放到第一个位置的实现方法
    • C# WinForm捕获全局变量异常 SamWang解决方法
    • C# 格式化字符首字母大写的方法
    • 如何让C#、VB.NET实现复杂的二进制操作
    • winform中写app.config文件时调试情况下没有改变的原因
    • C#中私有构造函数的特点和用途实例解析

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有