XML的解析和保存
2016-07-19 21:55
155 查看
1、XML(extensible markup language;XML )
定义:,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。
XML语法规范: 标签(Tag)、嵌套(Nest)、属性(Attribute) [标签闭合、属性双引号、大小写敏感]
XML结构:父节点、子节点、兄弟节点
常见方法:DOM(文档对象模型)、Sax(事件驱动、XmlTextReader)、XmlSerializer(序列化)、Linq to XML
常用类型:XElement、XDocument、XAttribute
2、使用代码编写XML文件
[1]、注意:(1)、需要.Net Framework 3.5版本才能使用XDocument对象。
(2)、XDOcument类相比于XmlDocument类,配合Linq使用更方便
[2]、创建XML文档:
new XDocument对象
创建一个根节点XElement:构造方法中定义节点名字
加到XML文档中:Add() 方法
文档保存:Save() 方法
添加属性:new 一个Attribute、Add上
添加节点:new一个Element、可以设定Value给定值
[3]、读取XML文件
加载文档:XDocument.Load()方法
获取根节点:Root属性
元素签名与值(所以):Name、value属性
获取直接子元素:Element方法与Elements方法
读取属性:Attribute方法与Attributes方法,使用value
获取所以子节点:递归
实例1:
//读取XML文档
[3]、XML序列化
把对象序列化存储在本地文件中,using System.Xml.Serialization;,对象标示[Serializable]
实例:
--------------------------
转载自:http://www.cnblogs.com/dedeyi/archive/2012/07/08/2582005.html
定义:,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。
XML语法规范: 标签(Tag)、嵌套(Nest)、属性(Attribute) [标签闭合、属性双引号、大小写敏感]
XML结构:父节点、子节点、兄弟节点
常见方法:DOM(文档对象模型)、Sax(事件驱动、XmlTextReader)、XmlSerializer(序列化)、Linq to XML
常用类型:XElement、XDocument、XAttribute
2、使用代码编写XML文件
[1]、注意:(1)、需要.Net Framework 3.5版本才能使用XDocument对象。
(2)、XDOcument类相比于XmlDocument类,配合Linq使用更方便
[2]、创建XML文档:
new XDocument对象
创建一个根节点XElement:构造方法中定义节点名字
加到XML文档中:Add() 方法
文档保存:Save() 方法
添加属性:new 一个Attribute、Add上
添加节点:new一个Element、可以设定Value给定值
[3]、读取XML文件
加载文档:XDocument.Load()方法
获取根节点:Root属性
元素签名与值(所以):Name、value属性
获取直接子元素:Element方法与Elements方法
读取属性:Attribute方法与Attributes方法,使用value
获取所以子节点:递归
实例1:
把对象序列化存储在本地文件中,using System.Xml.Serialization;,对象标示[Serializable]
实例:
XmlDocument dom=new XmlDocument(); dom.LoadXml(字符串); dom.save(文件名);
转载自:http://www.cnblogs.com/dedeyi/archive/2012/07/08/2582005.html
相关文章推荐
- 类的有参方法
- 《OpenCV2计算机视觉编程手册》2-5
- 求有环单链表的环长
- Julia: 如何转换PyPlot的X轴的日期格式?
- 心情无迹的博客
- JavaScript基础(一)
- WebService学习总结十一 使用Ajax访问WebService和使用HttpURLConnection访问WebService
- JS模板引擎---mustache与HandleBars
- 亦大自学51cto--cisco网络设备命令
- laravel 怎么部署到万网的虚拟主机上?
- [101] Symmetric Tree
- Intent 之系统Intent<一>
- 菜鸟学Android源码——Setting(1)
- WebDev.WebServer40 调试vs代码
- Caffe源码:io.cpp 分析
- 容易已发bug环节总结
- bwlabel.cpp
- JVM垃圾回收总结
- Jenkins+postman+newman之API全自动化测试
- 基于logistic regression的严格矩阵求导