VS 熟悉XML

1.建立構架 XSD

如下圖:

對應的XSD的文件內容如下:

View Code
<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="shiporder"
targetNamespace
="http://tempuri.org/shiporder.xsd"
elementFormDefault
="qualified"
xmlns
="http://tempuri.org/shiporder.xsd"
xmlns:mstns
="http://tempuri.org/shiporder.xsd"
xmlns:xs
="http://www.w3.org/2001/XMLSchema"
>
<!-- 简易元素的定义 -->
<xs:element name="orderperson" type="xs:string"/>
<xs:element name="name" type="xs:string"/>
<xs:element name="address" type="xs:string"/>
<xs:element name="city" type="xs:string"/>
<xs:element name="country" type="xs:string"/>
<xs:element name="title" type="xs:string"/>
<xs:element name="note" type="xs:string"/>
<xs:element name="quantity" type="xs:positiveInteger"/>
<xs:element name="price" type="xs:decimal"/>

<!-- 属性的定义 -->
<xs:attribute name="orderid" type="xs:string"/>

<!-- 复合元素的定义 -->
<xs:element name="shipto">
<xs:complexType>
<xs:sequence>
<xs:element ref="name"/>
<xs:element ref="address"/>
<xs:element ref="city"/>
<xs:element ref="country"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="item">
<xs:complexType>
<xs:sequence>
<xs:element ref="title"/>
<xs:element ref="note" minOccurs="0"/>
<xs:element ref="quantity"/>
<xs:element ref="price"/>
</xs:sequence>
</xs:complexType>
</xs:element>

<xs:element name="shiporder">
<xs:complexType>
<xs:sequence>
<xs:element ref="orderperson"/>
<xs:element ref="shipto"/>
<xs:element ref="item" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute ref="orderid" use="required"/>
</xs:complexType>
</xs:element>
</xs:schema>

上面這個文檔中有說明

2.建立XML文件,代碼如下:

View Code
<?xml version="1.0" encoding="utf-8" ?>

<shiporder a:orderid="33" xmlns:a="http://tempuri.org/shiporder.xsd"
xmlns
="http://tempuri.org/shiporder.xsd"
>

<orderperson>George Bush</orderperson>
<shipto>
<name>John Adams</name>
<address>Oxford Street</address>
<city>London</city>
<country>UK</country>
</shipto>

<item>
<title>Empire Burlesque</title>
<note>Special Edition</note>
<quantity>1</quantity>
<price>10.90</price>
</item>
<item>
<title>Hide your heart</title>
<quantity>1</quantity>
<price>9.90</price>
</item>
</shiporder>

3.XML文檔與XDS文件關聯

在vs工具欄,XML菜單,結構描述,如下圖:


加入對XML文檔的驗證,點擊加入,選擇驗證的XSD文件。

4.有了上面的步驟,那麼在編輯XML文檔的時候,會由智能提示,輸入錯誤,也有驗證。

  需要注意的是,在編輯XML文檔的時,是根據XSD文件元素的位置,一個一個提示的,只有第一個元素寫完了。

 才會提示第二個元素。

其他的所有XML文檔提示功能,是同理的。

5.也可以先寫XML文檔,根據文檔來生成XSD文件,菜單-》建立結構描述,就可以生成XSD文件了。

6.對象序列號,寫到XML文件中

    XmlSerializer serializer =new XmlSerializer(typeof(PurchaseOrder));
TextWriter writer = new StreamWriter(filename);
PurchaseOrder po = new PurchaseOrder();
serializer.Serialize(writer, po);
writer.Close();

7.對象反序列號

XmlSerializer serializer =new XmlSerializer(typeof(PurchaseOrder));
FileStream fs = new FileStream(filename, FileMode.Open);
PurchaseOrder po = new PurchaseOrder();
po = (PurchaseOrder)serializer.Deserialize(fs);




 

 



posted @ 2012-03-24 18:01  無限遐想  阅读(1478)  评论(0编辑  收藏  举报