xml 可扩展标记语言

XML:存储数据

XML的标签自定义      成对出现

XML严格区分大小写   HTML不区分大小写

xml文档必须有一个根节点 ,且只能有一个根节点

元素:XML文件中所有都是

节点:一个个标签

 

通过C#代码来创建XML文档

using System.Xml;

 

//创建XML文档对象

XmlDocument   doc  = new  XmlDocument();

 

//创建第一行描述信息,并添加到文档中

XmlDeclaraction  dec   =   doc.CreateXmlDeclaration("1.0","utf-8",null);

doc.AppendChild(dec);

 

//创建根节点,并添加到文档中

XmlElement  boos  = doc.CreateElement("book");

doc.AppendChild(book);

 

//给根节点创建子节点

XmlElement  boos1  = doc.CreateElement("book1");

book.AppendChild(book1);

 

//给标签写入文本

book1.InnerText = "abc";

结果   <book1>abc</book1>

book1.InnerXml = "<p>aa</p>"

InnerXml 会讲标签显示为标签,InnerText 会转义标签

所以添加文本时用InnerText

添加标签时用.InnerXml 

 

//保存文档

doc.Save("Books.xml");

 

//创建带属性的XML文档

book1.SetAttribute("name","bookname");

book1.SetAttribute("count","10");

结果   <book1  name="bookname"   count="10"></book1>

 

 

向XML中追加

1.创建对象

XmlDocument   doc  = new  XmlDocument();

2.判断文件是否存在

using System.Io

if(File.Exists("books.xml"))

{

//加载文件

doc.Load("books.xml");

//获得文件的根节点

XmeElement  book  = doc.DocumentElement;

}

else

{

//创建文件

}

3.追加内容

//在根节点下追加内容

 

读取XML文件

1.//加载文件

doc.Load("books.xml");

2.//获得文件的根节点

XmeElement  book  = doc.DocumentElement;

3.//根据根节点拿到所以子节点          返回子节点的集合

XmlNodeList  xnl  = book.ChildNodes;

返回的是子节点的内容

4.当XML节点有属性时,读取属性

XMLDocument    doc  = new XmlDocument();

doc.Load("order.xml");

//返回节点的集合    SelectNodes 选择的是符合条件所有节点

XMLNodeList  xnl  =  doc.SelectNodes("/Order/Items/OrderItem");

foreach(XMLNode   node  in   xnl )

{

string   name = node.Attributes["Name"].Value;

string   count = node.Attributes["Count"].Value;

}

 

order.xml文件内容如下

<Order>

<Items>

<OrderItem  Name="avb"   Count ="200"  />

<OrderItem  Name="dd"   Count ="200"  />

<OrderItem  Name="oop"   Count ="200"  />

<Items/>

<Order/>

 

删除节点

//选择单一节点       SelectSingleNode选择的是某一个节点

XmlNode  xn   = doc.SelectSingleNode("/Order/Items");

xn.RemoveAll();   //删除该节点下的所以节点

doc.Save();

posted on 2017-11-15 10:56  yanmay  阅读(170)  评论(0编辑  收藏  举报

导航