XML的读写

通过我们跨平台传输,我们需要把某一个平台下特有的数据转化为一种通用的数据类型,序列化和反序列化;

通用形式有两种:《1》JSON:是一种以键值形式组成的;《2》XML:可扩展标记语言;

//一个XML文件形式
<?xml version="1.0" encoding="utf-8"?>
<books>
  <book>
    <bookname>.NET</bookname>
    <price>19</price>
  </book>
<books>

XML文件格式要求:

                    《1》头部需要XML标记;

                    《2》每一个xml文件有且只有一个根节点;

                    《3》所有的标签必须闭合;

   //XML的读取;
  XmlDocument doc = new XmlDocument();//创建文档对象;
  doc.Load("D:\\ASP.NET练习\\XML使用\\XmlUsersDome\\XmlUsersDome\\Books.xml");//读取Xml;
  XmlNode root = doc.SelectSingleNode("books");//获取节点信息;获取根节点
  XmlNodeList bookList = root.SelectNodes("book");//获取根节点下面的book;
  XmlNode bookName = bookList[1].SelectSingleNode("bookName");//获取book下面的bookName;
  Console.WriteLine(bookName.InnerText);//打印出bookname的书名;
 //Xpath读取;
 XmlNodeList list = doc.SelectNodes("//bookName");
 Console.WriteLine(list[1].InnerText);
 XmlNode list = doc.SelectSingleNode("//book[2]/bookName");
 Console.WriteLine(list.InnerText);
//XML的写
 XmlDocument doc = new XmlDocument();
 XmlDeclaration dec =doc.CreateXmlDeclaration("1.0", "utf-8", null);//编写XML的版本信息;
 doc.AppendChild(dec);
 XmlNode root = doc.CreateElement("students");//创建一个根节点;
 doc.AppendChild(root);
 XmlNode student1 = doc.CreateElement("student");
 XmlNode name1 = doc.CreateElement("name");
 name1.InnerText = "张三";
 student1.AppendChild(name1);
 XmlNode age1 = doc.CreateElement("age");
 age1.InnerText = "20";
 student1.AppendChild(age1);
 root.AppendChild(student1);
 doc.Save(@"D:\ASP.NET练习\XML使用\XmlUsersDome\XmlUsersDome\students.xml");

XML和JSON的优缺点

json:《1》优点:比较简单,格式简单,数据是以键值格式呼应;

           《2》缺点:不能对数据格式进行约束;

XML:《1》优点:XML格式严格,XML验证可以约束节点的信息,可以对字段进行约束;

           《2》缺点:序列化和反序列化麻烦;

发布了14 篇原创文章 · 获赞 0 · 访问量 128

猜你喜欢

转载自blog.csdn.net/m0_46454966/article/details/105459525