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类:

  1. XmlNode类:表示文档中的一个节点(是许多类的基类)
  2. XmlDocument类:扩展了XmlNode类
  3. XmlElement类:表示Xml文档中的一个元素
    此类常用属性:
    FirstChild:返回当前节点的第一个子节点
    LastChild:返回当前节点的最后一个子节点
    ParentNode:返回当前节点的父节点
    NextSibling:返回当前节点的下一个兄弟节点
    HasChildNodes:检查当前节点是否有子节点(检查是否为空)
  4. XmlAttribute类:表示一个特性(派生于XmlNode类)
  5. XmlText类:表示开始标记与结束标记之间的文本
  6. XmlComment类:表示一种特殊类型的节点
  7. 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;}
0 0
原创粉丝点击