最进在做一个项目,需要用到xml做配置文件,但是自己忘的差不多了,所以就温习了一遍。以下是我项目中所用到的,所以肯定也不全面。

1、新建xml文件

 using System.Xml;//需要引用

 string xmlPath = Application.StartupPath;
             string xmlName = "listorder.xml";

 public void CreateXmlFile()
         {
             XmlDocument xmlDoc = new XmlDocument();
             //创建类型声明节点
             XmlNode node=xmlDoc.CreateXmlDeclaration("1.0","utf-8","");
             xmlDoc.AppendChild(node);
             //创建根节点
             XmlNode root = xmlDoc.CreateElement("Persons");
             xmlDoc.AppendChild(root);  

             XmlNode node1 = xmlDoc.CreateNode(XmlNodeType.Element, "Person", null);
             CreateNode(xmlDoc, node1, "name", "张三");
             CreateNode(xmlDoc, node1, "sex", "男");
             CreateNode(xmlDoc, node1, ");
             root.AppendChild(node1);  

             XmlNode node2 = xmlDoc.CreateNode(XmlNodeType.Element, "User", null);
             CreateNode(xmlDoc, node2, "name", "李四");
             CreateNode(xmlDoc, node2, "sex", "女");
             CreateNode(xmlDoc, node2, ");
             root.AppendChild(node2);  

             try
             {
                 xmlDoc.Save(xmlPath + "\\" + xmlName);
             }
             catch (Exception e)
             {
                 //显示错误信息
                 MessageBox.Show(e.Message, "注意", MessageBoxButtons.OK, MessageBoxIcon.Information);
 }  

         }  

         /// <summary>
         /// 创建节点
         /// </summary>
         /// <param name="xmldoc">xml文档</param>
         /// <param name="parentnode">父节点</param>
         /// <param name="name">节点名</param>
         /// <param name="value">节点值</param>
         ///
         public void CreateNode(XmlDocument xmlDoc,XmlNode parentNode,string nodeName,string value)
         {
             XmlNode node = xmlDoc.CreateNode(XmlNodeType.Element, nodeName, null);
             node.InnerText = value;
             parentNode.AppendChild(node);
         }  

生成效果如下:

<?xml version="1.0" encoding="utf-8"?>
<Users>
  <User>
    <name>张三</name>
    <sex>男</sex>
    <age>6</age>
  </User>
  <User>
    <name>李四</name>
    <sex>女</sex>
    <age>7</age>
  </User>
</Users>  

2、读取xml文件

         XmlDocument doc = new XmlDocument();
                 doc.Load(xmlPath + "\\" + xmlName);
                 //List<PlayList> pModeList = new List<PlayList>();

                 // 得到根节点VideoS
                 XmlNode xn = doc.SelectSingleNode("VideoS");

                 // 得到根节点的所有子节点
                 XmlNodeList xnl = xn.ChildNodes;

                 foreach (XmlNode xn1 in xnl)
                 {
                     pModel = new PlayList();

                     // 将节点转换为元素,便于得到节点的属性值
                     XmlElement xe = (XmlElement)xn1;
                     // 得到Video节点的所有子节点
                     XmlNodeList xnl0 = xe.ChildNodes;

                     pModel.PlayID = ).InnerText);
                     pModel.PlayName = xnl0.Item().InnerText;
                     pModel.PlayLx = xnl0.Item().InnerText;
                     pModel.PlayTime = ).InnerText);

                     pModeList.Add(pModel);

                 }

C#操作xml的更多相关文章

  1. Asp.Net 操作XML文件的增删改查 利用GridView

    不废话,直接上如何利用Asp.NET操作XML文件,并对其属性进行修改,刚开始的时候,是打算使用JS来控制生成XML文件的,但是最后却是无法创建文件,读取文件则没有使用了 index.aspx 文件 ...

  2. php中通过DOM操作XML

    DOM文档在js里早就接触过,知道DOM不但可以操作html文档,还可以操作XHTML,XML等文档,有着极强的通用性,下面我们通过两个小例子,看看在PHP中是如何用DOM操作XML文档的,和js中差 ...

  3. 使用dom4j操作XML

    DOM4J介绍 DOM4J是使用Java语言编写的,用于读写及操作XML的一套组件,DOM4J同时具有DOM修改文件的优点和SAX读取快速的优点. DOM4J的使用 首先下载dom4j的JAR包,我用 ...

  4. 使用JDOM操作XML

    JDOM介绍 JDOM是使用Java语言编写的,用于读写及操作XML的一套组件,Jdom同时具有DOM修改文件的优点和SAX读取快速的优点. JDOM的使用 首先下载JDOM的JAR包,本文使用的是j ...

  5. php : DOM 操作 XML

    DOM 操作 XML 基本用法 XML文件: person.XML <?xml version="1.0" encoding="utf-8" ?> ...

  6. Strus2第一次课:dom4j操作xml

    先从底层的xml操作技术记录: 当我们新建一个项目,什么架包都没加入的时候,java提供了 org.w3c.dom给我们操作xml里面的元素 import org.w3c.dom.Document; ...

  7. .NET 操作XML

    在C#.net中如何操作XML 需要添加的命名空间: using System.Xml; 定义几个公共对象: XmlDocument xmldoc ; XmlNode xmlnode ; XmlEle ...

  8. php操作xml

    最近计划写个人的小网站,一系列原因选择了用php来写,最大的问题就是虽然php很流行,但我从来没有接触过php,看了一个多星期的基本语法后做些小练习热热身,但是期间是各种问题啊,主要是对php不熟悉, ...

  9. JavaScript操作XML

    JavaScript操作XML (一) JavaScript操作XML是通过XML DOM来完成的.那么什么是XML DOM呢?XML DOM 是: 用于 XML 的标准对象模型 用于 XML 的标准 ...

  10. C#操作XML方法集合

    一 前言 先来了解下操作XML所涉及到的几个类及之间的关系  如果大家发现少写了一些常用的方法,麻烦在评论中指出,我一定会补上的!谢谢大家 * 1 XMLElement 主要是针对节点的一些属性进行操 ...

随机推荐

  1. 从0到1搭建移动App功能自动化测试平台(0):背景介绍和平台规划

    本文作者: 伯乐在线 - debugtalk .未经作者许可,禁止转载!欢迎加入伯乐在线 专栏作者. 转载地址:http://blog.jobbole.com/101221/ 背景 最近新加入DJI的 ...

  2. Dede cms文章内容管理系统安全漏洞!如何有效防止DEDE织梦系统被挂木马安全设置

    第一.安装Dede的时候数据库的表前缀,最好改一下,不要用dedecms默认的前缀dede_,可以改成ljs_,随便一个无规律的.难猜到的前缀即可. 第二.后台登录一定要开启验证码功能,将默认管理员a ...

  3. Spring Data Jpa真爽啊

    http://www.ibm.com/developerworks/cn/opensource/os-cn-spring-jpa/ 持久层的实现类可以让框架生成.只需要声明持久层接口,框架直接生成代理 ...

  4. task中的一些属性

    1.android:allowTaskReparenting 这个属性用来标记一个Activity实例在当前应用退居后台后,是否能从启动它的那个task移动到有共同affinity的task,“tru ...

  5. 在RAC中,当私有网线拔了后,会怎么样?

    原文链接http://blog.mchz.com.cn/?p=4305 实际环境: OS:oel5.5_x64 ORACLE:10205 3节点rac 架设于vmware esxi虚拟机上 所需测试项 ...

  6. Python安装Selenium3

    概述 2016.10.13,Selenium3.0正式发布,官方说明如下: The major change in Selenium 3.0 is we're removing the origina ...

  7. Flex应用一览表

    1.Flex控件之repeater和radioButton控件应用 2.Flex之DataGrid和Tree控件的数据源XML格式  3.Flex控件之combobox应用 4.转:Flex的Arra ...

  8. CA提供的身份认证配置弃用

    场景:从CA网站登录,在CA主页点击我们集成到CA的业务系统图标进行跳转,发现业务系统登录过身份(没cookies),身份认证自动使用 url,跳转到CA登录页,造成二次登录 [Authorize] ...

  9. noip2008 笨小猴

    P1125 笨小猴 1.6K通过 3.7K提交 题目提供者该用户不存在 标签模拟2008NOIp提高组 难度普及- 提交该题 讨论 题解 记录   题目描述 笨小猴的词汇量很小,所以每次做英语选择题的 ...

  10. 华为OJ平台——完美数

    import java.util.Scanner; /** * * 完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数. * 它所有的真因子(即除了自身以外的约数)的和(即 ...