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 主要是针对节点的一些属性进行操 ...
随机推荐
- EXPDP
源地址:http://blog.csdn.net/zftang/article/details/6387325
- ArcGIS Server建立缓存(切图)原理解析[图解] (转载)
GoogleMap ,VirtualEarth ,YahooMap 等,目前所有的WebGIS都使用了缓存机制 以提高地图访问速度.原理都是将地图设定为多个比例尺,对于每个比例尺提前将地图分成若干小图 ...
- js判断手机是的操作系统
var browser = { versions: function() { var u = navigator.userAgent, app = navigator.appVersion; retu ...
- Angularjs路由.让人激动的技术.真给前端长脸了.
先看文件的摆放 不废话,直接上代码. detail.html: <hr/> <h3>路由 <span style="color: red;">{ ...
- nginx 反向代理(Reverse Proxy)与耗时记录
反向代理服务器位于实际的服务器之前,他能够缓存服务器响应,加速访问,同时也启到了负载均衡服务器的效果.反向代理服务器解析客户端请求,根据负载均衡算法转发到不同的后台服务器上.用户和后台服务器之间不再有 ...
- C#下的Redis 学习
Redis作为世界上最快的分布式NoSQL的数据存储,在高性能构架中离不开他的身影 Centos下安装Redis wget http://download.redis.io/redis-stable. ...
- 收缩sql server2008 数据库
USE DATABASENAME; GO -- Truncate the log by changing the database recovery model to SIMPLE. ALTER DA ...
- GL_INVALID_VALUE(0X501)
当android应该打开GPU的支持后, 有些手机会出现黑屏.闪屏等现象. 跟踪控制台, 会打印日志GL_INVALID_VALUE(0X501). 参考资料:http://mobile.riaos. ...
- 架构设计--逻辑层 vs 物理层
如果你对项目管理.系统架构有兴趣,请加微信订阅号"softjg",加入这个PM.架构师的大家庭 Layer 和Tier都是层,但是他们所表现的含义不同,Tier指的是软件系统中物理 ...
- PMP考试--关于职业道德
如果你对项目管理.系统架构有兴趣,请加微信订阅号"softjg",加入这个PM.架构师的大家庭 ★四个价值标准(value standards) 责任(responsibility ...