可扩展的标记语言(eXtensible Markup Language),XML非常严谨,当遇到语法错误的时就会停止工作。
  • XML基础
  • XML编写
  • XML查询
  • XML序列化

一、XML基础

(一)、XML优点:
   容易读懂;格式标准任何语言都内置了XML分析引擎,不用单独进行文件分析引擎的编写。
(二)、XML的组成
(三)、XML语法规范:
标签(Tag)、嵌套(Nest)、属性。标签要闭合,属性值要用""包围,标签可以互相嵌套,大小写敏感(CaseSensitive) 
 
(四)、元素规则
1、名字中不能包含空格
2、名字不能以数字、标点符号、xml开头
3、左尖括号(<)后不可以有空格
4、起始标签的大写小必须一致
5、XML文件中出现的第一个元素是跟元素
6、跟元素必须有完整的起始和结束标签
7、所有的子元素必须嵌套在一个跟元素中
8、嵌套元素不可以相互重叠
9、子元素如果内容为空可以缩写标签
(五)、属性规则
  • 属性可以在起始标签和处理指令之间声明
  • 多个属性之间使用空格分隔
  • 每条属性包含属性名属性值两个部分
    一个元素中不能有重名的属性
    在同一个XML文件中不同元素中属性名可以重用
    属性名不可以包含空格
    赋值时可以使用单引号双引号
 
(六)、选择XML元素还是属性
  • 元素用于封装数据,而属性通常用于提供有关元素的伴随信息,而不是封装原始数据本身
  • 当信息需要简单类型的数据并且存在以下情况时,使用属性
      信息需要默认值或固定值
      信息需要的数据时现有元素的元数据
      如果XML文件的大小很重要,推荐使用属性。
(七)注释
  1、注释不能嵌套在标签中
  2、只有字注释的开始和结尾可以使用双短横
  3、三短横智能在注释的开头使用而不能用在结尾处
 
二、XML的编写
   1、使用XmlTextWriter类使用的方法
   2、使用XmlDocument类提供的方法
 
 1  static void Main(string[] args)
 2         {
 3             XmlDocument doc = new XmlDocument();
 4             string path = "d:\\1.xml";
 5             //创建文档声明
 6             if (!File.Exists(path))
 7             {
 8                 XmlDeclaration declarration = doc.CreateXmlDeclaration("1.0", "utf-8", null);
 9                 doc.AppendChild(declarration);
10                 //创建跟元素 Books
11                 XmlElement parent = doc.CreateElement("Books");
12                 doc.AppendChild(parent);
13                 //创建Books/book
14                 XmlElement book1 = doc.CreateElement("Book");
15                 parent.AppendChild(book1);
16                 //创建Name
17                 XmlElement name = doc.CreateElement("Name");
18                 book1.AppendChild(name);
19                 name.InnerText = "红楼梦";
20                 //创建Price
21                 XmlElement price = doc.CreateElement("Price");
22                 price.InnerText = "10";
23                 book1.AppendChild(price);
24 
25             }
26             else
27             {
28                 doc.Load(path);
29                 //获取Books节点,跟节点
30                 XmlElement parent = doc.DocumentElement;
31                 //创建Book
32                 XmlElement book1 = doc.CreateElement("Book");
33                 parent.AppendChild(book1);
34                 //创建Name
35                 XmlElement name = doc.CreateElement("Name");
36                 book1.AppendChild(name);
37                 name.InnerText = "西游记";
38                 //创建Price
39                 XmlElement price = doc.CreateElement("Price");
40                 price.InnerText = "18";
41                 book1.AppendChild(price);
42 
43             }
44             doc.Save("d:\\1.xml");
45         }
创建XML文件

 

操作xml文件
XmlDocument
Save()
Load()
SelectSingleNode() 根据xpath找某个节点
SelectNodes()
DocumentElement 根节点

XmlNode
XmlElement
SetAttribute(); 设置属性
Attributes[].Value 读取属性
InnerText
InnerXml
ChildNodes

posted on 2013-06-02 00:05  星星daddy  阅读(501)  评论(2)    收藏  举报