XML与JSON
来源:互联网 发布:linux 安装apache指令 编辑:程序博客网 时间:2024/06/01 08:37
由于使用的东西不会太深入,所以我就只是简单的学了学,在这里也就只是简单的介绍介绍。
一、有关XML
XML基础
XML(可扩展标记语言)是一种数据语言,它的形式和html代码一样,只不过每个节点都是由我们自己定义。如下:
<book> <title>this is a book</title> <author>lvren</author></book>
上面这段代码里的book,title,author节点都是我们自己定义的。当然还可以设置属性。
C#处理XML
在C#中常用的DOM类:
- XmlNode类:表示文档中的一个节点(是许多类的基类)
- XmlDocument类:扩展了XmlNode类
- XmlElement类:表示Xml文档中的一个元素
此类常用属性:
FirstChild:返回当前节点的第一个子节点
LastChild:返回当前节点的最后一个子节点
ParentNode:返回当前节点的父节点
NextSibling:返回当前节点的下一个兄弟节点
HasChildNodes:检查当前节点是否有子节点(检查是否为空) - XmlAttribute类:表示一个特性(派生于XmlNode类)
- XmlText类:表示开始标记与结束标记之间的文本
- XmlComment类:表示一种特殊类型的节点
- XmlNodeList类:表示一个节点集合
获取节点值的三种属性:
1. InnerText:获取当前节点中所有子节点的文本组合成一个字符串返回
2. InnerXml:返回所有标记(所有子节点及其文本)
3. Value:
创建节点的方法:
1. CreateNode:创建任意类型的节点
2. CreateElement:只能创建XmlElements类型的节点
3. CreateAttribute:只能创建XmlAttribute类型的节点
4. CreateTextNode:创建XmlTextNode节点
5. CreateComment:创建注释
在创建节点后,节点并没有包含其它信息,节点也没有插入到文档中。
插入节点的方法:
1. AppendChild:将一个节点追加到某个节点上
2. InsertAfter:在某个节点后面插入一个节点
3. InsertBefore:在某个节点前面插入一个节点
删除节点的方法:
1. RemoveAll:删除节点上的所有子节点
2. RemoveChild:删除节点上的一个子节点
开始处理XML文档
载入一个xml:
//使用System.Xml声明XmlDocument document = new XmlDocument();document.Load();//括号里可填入XMl文档所在路径,也可以是一个保存XML文档内容的字符串。这一步是加载XML。
访问xml:
在处理xml时,必须先定位道一个节点才能对其开始处理。
XmlElement root = document.DocumentElement;//获取根节点Console.WriteLine(document.FirstChild.Name);//输出第一个子节点的节点名称Console.WriteLine(document.LastChild.Name);//输出最后一个子节点的节点名称
在上面这个程序中,如果没有获取根节点这一步,那么下面这样个子节点都会输出根节点,因为这时还没有定位到任何一个具体节点,所以还是在整个文档流上面进行操作。
创建节点:
//创建节点 XmlElement root = document.DocumentElement; XmlElement newBook = document.CreateElement("book"); XmlElement newTitle = document.CreateElement("title"); XmlElement newAuthor = document.CreateElement("author"); XmlElement newCode = document.CreateElement("code"); //创建节点内容 XmlText title = document.CreateTextNode("beginning C#"); XmlText author = document.CreateTextNode("lvren"); XmlText codo = document.CreateTextNode("123456"); XmlComment commont = document.CreateComment("hello"); //组合节点 newBook.AppendChild(commont); newBook.AppendChild(newTitle); newBook.AppendChild(newAuthor); newBook.AppendChild(newCode); newTitle.AppendChild(title); newAuthor.AppendChild(author); newCode.AppendChild(codo); //将节点插入文档中并保存 root.InsertAfter(newBook, root.LastChild); document.Save("Books.xml");
在这里先创建节点,再创建节点的内容,然后将各节点的内容插入节点中,当一切都准备好后,然后将整个节点插入文档中并保存。
还有删除很简单就不说了,直接调用删除方法即可。
二、有关JSON
JSON基础
JSON(JavaScript Object Notation)也是一种很常用的格式,虽说看名字是源于JavaScript的,但是却像XML一样在Web服务中很常用。
C#处理JSON
C#原生对JSON的支持并不完美,不过可以使用拓展库Newtonsoft.JSON.NET
这个包来处理
将XML转换成JSON
也是使用上面的拓展库,如下:
private string XmlToJson(){ XmlDocument document = new XmlDocument(); document.load(books); string json = Newtonsoft.Json.JsonConvert.SerializeXmlNode(document); return json;}
- JSON与XML
- json与xml
- JSON 与 xml
- XML与JSON转换
- JSON与XML比较
- json与xml对比
- json与xml对比
- XML与JSON比较
- JSON与XML
- Json与Xml
- xml与json
- JSON与XML区别
- JSON与XML
- XML与JSON 区别
- Json与xml区别
- JSON与XML比较
- json与xml对比
- json与xml学习
- C#调用Java方法(详细实例)
- MAMP下 添加插件问题例如 pcntl & php升级问题
- 布尔巴基学派的函数定义
- CSS压缩之:正则五步替换法
- Hessian
- XML与JSON
- B. Working out (递推dp )
- MySQL-linux常用命令
- c#调用java的Servlet/Controller/Action实现应用间无缝调用
- WEB前端开发分享-CSS,JS工具
- Web Service
- Linux 安装Go环境变量
- bzoj2733 [HNOI2012]永无乡
- Python机器学习算法实践——k均值聚类(k-means)