XML
优点:容易读懂;格式标准任何语言都内置了XML分析引擎,不用单独进行文件分析引擎的编写。
Xml就是用一种格式化的方式来存储数据。
注意规则:
1.Xml中只能有一对根节点,其他节点都必须包含在根节点中。
2.xml是大小写敏感的。开始标记如果是大写,结束标记也必须是大写。
3.xml对语法要求很严格,有开始标记,必须有结束标记。
4.对于标记的属性的值必须用双引号引起来。
5.xml的标记是可以嵌套的。
6.在xml中所有的元素都叫节点,但不是所有的节点都叫元素(标签)
7.注释,叫节点,但不叫元素。
核心类XElement:
【写】
【一个XElement表示一个元素,
new XElement("Order") 创建一个名字为Order的标签,
调用Add增加子元素
调用XElement的Save方法将xml内容保存在Writer中。】
优点:容易读懂;格式标准任何语言都内置了XML分析引擎,不用单独进行文件分析引擎的编写。
Xml就是用一种格式化的方式来存储数据。
注意规则:
1.Xml中只能有一对根节点,其他节点都必须包含在根节点中。
2.xml是大小写敏感的。开始标记如果是大写,结束标记也必须是大写。
3.xml对语法要求很严格,有开始标记,必须有结束标记。
4.对于标记的属性的值必须用双引号引起来。
5.xml的标记是可以嵌套的。
6.在xml中所有的元素都叫节点,但不是所有的节点都叫元素(标签)
7.注释,叫节点,但不叫元素。
核心类XElement:
【写】
【一个XElement表示一个元素,
new XElement("Order") 创建一个名字为Order的标签,
调用Add增加子元素
调用XElement的Save方法将xml内容保存在Writer中。】
XElement xeOrder = new XElement("Order");
xeOrder.Add(new XElement("CustomerName", "Jack"));
xeOrder.Add(new XElement("OrderNumber", "BJ200888"));
XElement xeItems = new XElement("Items");
xeOrder.Add(xeItems);
XElement xeItem1 = new XElement("OrderItem");
xeItem1.Add(new XElement("ItemName", "电脑"));
xeItem1.Add(new XElement("Count", 3));
xeItems.Add(xeItem1);
XElement xeItem2 = new XElement("OrderItem");
xeItem2.Add(new XElement("ItemName", "电视"));
xeItem2.Add(new XElement("Count", 2));
xeItems.Add(xeItem2);
StringWriter writer = new StringWriter();
xeOrder.Save(writer);
------------------------------------
<?xml version="1.0“ encoding=“gb2312”?>
<Order xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<CustomerName>Jack</CustomerName>
<OrderNumber>BJ200888</OrderNumber>
<Items>
<OrderItem Name="电脑" Count="3"/>
<OrderItem Name="电视" Count="2"/>
</Items>
</Order>
--------------------------------------------
【读xml文件】:
1. 导入xml文件
XDocument xdoc = XDocument.Load("..xml");
2. 获取根节点
XElement xeRoot = xdoc.Root;
3. 获取根节点的子节点
XElement xeItem = xeRoot.Element("子节点名"); //获取指定节点
XElement xeItems = xeRoot.Elements(""); //获取所有的节点