C#操作xml
最进在做一个项目,需要用到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的更多相关文章
- Asp.Net 操作XML文件的增删改查 利用GridView
不废话,直接上如何利用Asp.NET操作XML文件,并对其属性进行修改,刚开始的时候,是打算使用JS来控制生成XML文件的,但是最后却是无法创建文件,读取文件则没有使用了 index.aspx 文件 ...
- php中通过DOM操作XML
DOM文档在js里早就接触过,知道DOM不但可以操作html文档,还可以操作XHTML,XML等文档,有着极强的通用性,下面我们通过两个小例子,看看在PHP中是如何用DOM操作XML文档的,和js中差 ...
- 使用dom4j操作XML
DOM4J介绍 DOM4J是使用Java语言编写的,用于读写及操作XML的一套组件,DOM4J同时具有DOM修改文件的优点和SAX读取快速的优点. DOM4J的使用 首先下载dom4j的JAR包,我用 ...
- 使用JDOM操作XML
JDOM介绍 JDOM是使用Java语言编写的,用于读写及操作XML的一套组件,Jdom同时具有DOM修改文件的优点和SAX读取快速的优点. JDOM的使用 首先下载JDOM的JAR包,本文使用的是j ...
- php : DOM 操作 XML
DOM 操作 XML 基本用法 XML文件: person.XML <?xml version="1.0" encoding="utf-8" ?> ...
- Strus2第一次课:dom4j操作xml
先从底层的xml操作技术记录: 当我们新建一个项目,什么架包都没加入的时候,java提供了 org.w3c.dom给我们操作xml里面的元素 import org.w3c.dom.Document; ...
- .NET 操作XML
在C#.net中如何操作XML 需要添加的命名空间: using System.Xml; 定义几个公共对象: XmlDocument xmldoc ; XmlNode xmlnode ; XmlEle ...
- php操作xml
最近计划写个人的小网站,一系列原因选择了用php来写,最大的问题就是虽然php很流行,但我从来没有接触过php,看了一个多星期的基本语法后做些小练习热热身,但是期间是各种问题啊,主要是对php不熟悉, ...
- JavaScript操作XML
JavaScript操作XML (一) JavaScript操作XML是通过XML DOM来完成的.那么什么是XML DOM呢?XML DOM 是: 用于 XML 的标准对象模型 用于 XML 的标准 ...
- C#操作XML方法集合
一 前言 先来了解下操作XML所涉及到的几个类及之间的关系 如果大家发现少写了一些常用的方法,麻烦在评论中指出,我一定会补上的!谢谢大家 * 1 XMLElement 主要是针对节点的一些属性进行操 ...
随机推荐
- 在Windows驗證網站設定部分匿名存取
最近接連遇到幾次的需求:供內部使用的ASP.NET網站,全站使用Windows驗證,使用者以網域AD帳號登入,但網站包含少數API性質的ASHX.ASPX或MVC Action,提供其他系統呼叫整合. ...
- 一些BOOTSTRAP的问题
老师好,有几个点不是很明白,劳烦老师帮忙解惑 <1>不是特别清楚nav和navbar的区别,视频中用的是nav标签,而class则标明navbar,是不是这里的nav其实没有什么作用,而c ...
- ubuntu 14.10 安装 zabbix
在ubuntu 14.10 上部署 zabbix 2.x 基本软件包安装 既然是ubuntu系统,当然要用好apt-get神器. 参考教程 URL:http://blog.csdn.net/cloud ...
- [SQL]动态sql语句基本语法
动态sql语句基本语法 :普通SQL语句可以用Exec执行 eg: Select * from tableName Exec('select * from tableName') Exec sp_ex ...
- Oracle索引HINT的使用
存储在数据库中数据的分布情况开发人员或管理员比Oracle优化器更加的清楚,在优化器不能作出最有查询路径选择的情况下,使用HINT(提示)人为的固定查询路径,一定程度能生成更优的执行计划. ...
- 将assembly包添加到自己的maven仓库
mvn install:install-file -DgroupId=com.asiainfo -DartifactId=spark-assembly -Dversion=1.2.0 -Dpackag ...
- MFC学习 标签页与属性页及各常用控件使用
参考 http://blog.csdn.net/anye3000/article/details/6700023 CTabCtrl: BOOL CTabTestDlg::OnInitDialog() ...
- 问题:glGenBuffers()函数没有定义怎么办
链接glew.lib库,#include <gl/glew.h>. glew是opengl 的扩展库
- CnBlogs博文排版技巧(转)
看的一篇讲博文排版技巧的文章,虽然有些地方有些过时,不过还是有些可以借鉴地方的 http://www.cnblogs.com/lyj/archive/2008/11/30/1344463.html
- 慕课网-安卓工程师初养成-3-9 Java中运算符的优先级
来源 http://www.imooc.com/code/1315 所谓优先级,就是在表达式中的运算顺序.Java 中常用的运算符的优先级如下表所示: 级别为 1 的优先级最高,级别 11 的优先级最 ...