1. สร้างไฟล์ XML ด้วย XML Schema ที่เกี่ยวข้อง
1. หากต้องการสร้างโครงการแอปพลิเคชัน Windows ใหม่
คุณต้องสร้างแอปพลิเคชัน Windows ใหม่ใน Visual Basic หรือ Visual C# ก่อน สร้างโครงการใหม่และตั้งชื่อว่า "XMLCustomerList" ชี้ไปที่สร้างจากเมนูไฟล์ จากนั้นคลิกโครงการเพื่อแสดงกล่องโต้ตอบโครงการใหม่ ขึ้นอยู่กับภาษาที่คุณต้องการใช้ ให้เลือก Visual Basic Project หรือ Visual C# Project ในบานหน้าต่าง Project Type จากนั้นเลือก Windows Application ตั้งชื่อโปรเจ็กต์ "XMLCustomerList" แล้วคลิก ตกลง เพื่อสร้างโปรเจ็กต์
2. Visual Studio จะเพิ่มโครงการ XMLCustomerList ลงใน Solution Explorer
หากต้องการเพิ่มรายการไฟล์ XML ใหม่ให้กับโปรเจ็กต์ ให้เลือกเพิ่มรายการใหม่จากเมนูโปรเจ็กต์ กล่องโต้ตอบเพิ่มรายการใหม่จะปรากฏขึ้น เลือกไฟล์ XML จากพื้นที่เทมเพลตของกล่องโต้ตอบเพิ่มรายการใหม่ ตั้งชื่อไฟล์ XML ว่า "รายชื่อลูกค้า" แล้วคลิกเปิด
3. เพิ่มรายการ XML schema ใหม่ให้กับโครงการ
หากต้องการเพิ่มรายการ XML schema ใหม่ให้กับโครงการ ให้เลือก "เพิ่มรายการใหม่" จากเมนู "โครงการ" กล่องโต้ตอบเพิ่มรายการใหม่จะปรากฏขึ้น เลือก XML Schema จากพื้นที่เทมเพลตของกล่องโต้ตอบเพิ่มรายการใหม่ ตั้งชื่อสคีมา "CustomerListSchema" แล้วคลิกเปิด
4. เพิ่มคำจำกัดความประเภทอย่างง่ายให้กับสคี
มา สร้างองค์ประกอบประเภทอย่างง่ายที่แสดงถึงรหัสไปรษณีย์ 5 หลัก
จากแท็บ "XML Schema" ของ "กล่องเครื่องมือ" ให้ลาก "simpleType" ลงบนพื้นผิวการออกแบบ เลือกชื่อเริ่มต้น "simpleType1" และเปลี่ยนชื่อประเภทเป็น "postalCode" ใช้ปุ่ม TAB เพื่อไปยังเซลล์ถัดไปทางด้านขวาและเลือก "positiveInteger" จากรายการแบบเลื่อนลง ใช้ปุ่ม TAB เพื่อนำทางไปยังบรรทัดถัดไป
คลิกช่องแบบเลื่อนลง ทางเลือกเดียวคือด้าน เนื่องจากประเภทธรรมดาไม่สามารถมีองค์ประกอบหรือคุณลักษณะเป็นส่วนหนึ่งของโมเดลเนื้อหาได้ เฉพาะแง่มุมเท่านั้นที่สามารถใช้ในการสร้างประเภทอย่างง่าย ใช้ปุ่ม TAB เพื่อไปยังเซลล์ถัดไปทางด้านขวาและเลือก "รูปแบบ" จากรายการแบบเลื่อนลง ใช้ปุ่ม TAB อีกครั้งเพื่อนำทางไปยังเซลล์ถัดไปทางด้านขวาและพิมพ์ "d{5}"
แง่มุมของรูปแบบช่วยให้คุณป้อนนิพจน์ทั่วไปได้ นิพจน์ทั่วไป d{5} หมายความว่าเนื้อหาของประเภท "postalCode" ถูกจำกัดไว้ที่ 5 อักขระ นิพจน์ทั่วไปอยู่นอกเหนือขอบเขตของการฝึกปฏิบัตินี้ แต่คุณสามารถดูวิธีใช้แง่มุมของรูปแบบกับประเภทข้อมูลที่เลือกเพื่ออนุญาตเฉพาะข้อมูลเฉพาะในประเภทธรรมดาได้
หากคุณเปลี่ยนสคีมาเป็นมุมมอง XML คุณควรเห็นโค้ดต่อไปนี้ในแท็กสคีมาระดับรูท (ซึ่งหมายความว่าตัวอย่างโค้ดไม่ได้รวมส่วนการประกาศจริงของเฟรมเวิร์กหรือแท็กสคีมาจริงที่เรียกว่ารูทหรือระดับเอกสาร tag) :
<xs:simpleType name="postalCode">
<xs:restriction base="xs:positiveInteger">
<xs:pattern value="d{5}" />
</xs:restriction>
</xs: simpleType>
เลือกบันทึกทั้งหมดจากเมนูไฟล์
5. เพิ่มคำจำกัดความประเภทที่ซับซ้อนให้กับสคีมา
สร้างองค์ประกอบประเภทที่ซับซ้อนซึ่งแสดงถึงที่อยู่มาตรฐานของสหรัฐอเมริกา
สลับไปที่มุมมองสคีมา จากแท็บ XML Schema ของกล่องเครื่องมือ ให้ลาก complexType ลงบนพื้นผิวการออกแบบ เลือกชื่อเริ่มต้น "complexType1" และเปลี่ยนชื่อประเภทเป็น "usAddress" อย่าเลือกประเภทข้อมูลสำหรับองค์ประกอบนี้ ใช้ปุ่ม TAB เพื่อนำทางไปยังบรรทัดถัดไป คลิกที่กล่องรายการแบบเลื่อนลงแล้วคุณจะเห็นตัวเลือกต่างๆ สำหรับองค์ประกอบที่สามารถเพิ่มลงในประเภทที่ซับซ้อนได้ สามารถเลือกองค์ประกอบได้ แต่สำหรับส่วนที่เหลือของการฝึกปฏิบัตินี้ คุณจะเพียง TAB เหนือเซลล์ เนื่องจากองค์ประกอบถูกตั้งค่าตามค่าเริ่มต้น ใช้ปุ่ม TAB เพื่อนำทางไปยังเซลล์ถัดไปทางด้านขวาแล้วพิมพ์ "ชื่อ"
ใช้ปุ่ม TAB เพื่อนำทางไปยังเซลล์ถัดไปทางด้านขวา และตั้งค่าประเภทข้อมูลเป็นสตริง ทำซ้ำในองค์ประกอบ usAddress เพื่อสร้างแถวใหม่สำหรับ:
ชื่อองค์ประกอบ
ชนิดข้อมูล
ถนน
เชือก
เมือง
เชือก
สถานะ
เชือก
ซิป
รหัสไปรษณีย์
สังเกตประเภทข้อมูลที่กำหนดให้กับองค์ประกอบ Zip เป็นรหัสไปรษณีย์แบบธรรมดาที่คุณสร้างไว้ก่อนหน้านี้
หากคุณสลับไปใช้มุมมอง XML คุณควรเห็นโค้ดต่อไปนี้ในแท็กสคีมาระดับรูท (ซึ่งหมายความว่าตัวอย่างโค้ดไม่ได้รวมส่วนการประกาศจริงของสคีมาหรือแท็กสคีมาจริงที่เรียกว่าแท็กรูทหรือแท็กระดับเอกสาร):
< xs:simpleType name="postalCode">
<xs:ข้อจำกัดฐาน="xs:positiveInteger">
<xs:รูปแบบค่า="d{5}" />
</xs:ข้อจำกัด>
</xs:simpleType>
< xs :complexType name="usAddress">
<xs:sequence>
<xs:element name="Name" type="xs:string" />
<xs:element name="Street" type="xs:string" />
< xs:element name="City" type="xs:string" />
<xs:element name="State" type="xs:string" />
<xs:element name="Zip" type="postalCode" / >
</xs:sequence>
</xs:complexType>
ตอนนี้ คุณได้กำหนดประเภทแยกกันสองประเภทที่สามารถใช้ในคำจำกัดความองค์ประกอบและประเภทได้ เลือกบันทึกทั้งหมดจากเมนูไฟล์ เพิ่มองค์ประกอบหลักให้กับสคีมา
6 หลังจากกำหนดประเภทข้อมูลบางประเภทแล้ว คุณสามารถสร้างข้อกำหนดข้อมูลจริงสำหรับไฟล์ XML ที่จะถูกสร้างขึ้นได้ ไฟล์ XML จะมีข้อมูลสำหรับรายชื่อลูกค้า ดังนั้นให้สร้างองค์ประกอบจริงที่กำหนดข้อมูลที่จะใช้ได้ในไฟล์ XML
สร้างองค์ประกอบลูกค้า
สลับไปยังมุมมองสคีมา ลาก "องค์ประกอบ" จากแท็บ XML Schema ของกล่องเครื่องมือลงบนพื้นผิวการออกแบบ เลือกชื่อเริ่มต้น "element1" และเปลี่ยนชื่อเป็น "ลูกค้า" อย่าเลือกประเภทข้อมูลสำหรับองค์ประกอบนี้ ใช้แป้น TAB เพื่อนำทางไปยังเซลล์กึ่งกลางของแถวถัดไปแล้วพิมพ์ "CompanyName" ใช้ปุ่ม TAB เพื่อนำทางไปยังเซลล์ถัดไปทางด้านขวา และตั้งค่าประเภทข้อมูลเป็นสตริง ทำซ้ำเพื่อสร้างแถวใหม่ในองค์ประกอบลูกค้าสำหรับ:
ชื่อองค์ประกอบ
ชนิดข้อมูล
ชื่อผู้ติดต่อ
เชือก
อีเมล
เชือก
โทรศัพท์
เชือก
ที่อยู่การเรียกเก็บเงิน
เราที่อยู่
ที่อยู่จัดส่ง
เราที่อยู่
สังเกตประเภทข้อมูลที่กำหนดให้กับองค์ประกอบ "BillToAddress" และองค์ประกอบ "ShipToAddress" เป็นประเภทที่ซับซ้อน usAddress ที่สร้างขึ้นก่อนหน้านี้ เราอาจกำหนดประเภทง่ายๆ สำหรับองค์ประกอบอีเมล โทรศัพท์ ฯลฯ
หากคุณเปลี่ยนสคีมาเป็นมุมมอง XML คุณควรเห็นโค้ดต่อไปนี้ในแท็กสคีมาระดับรูท (ซึ่งหมายความว่าตัวอย่างโค้ดไม่ได้รวมส่วนการประกาศจริงของเฟรมเวิร์กหรือแท็กสคีมาจริงที่เรียกว่ารูทหรือระดับเอกสาร tag) :
<xs:simpleType name="postalCode">
<xs:restriction base="xs:positiveInteger">
<xs:pattern value="d{5}" />
</xs:restriction>
</xs: simpleType>
<xs:complexType name="usAddress">
<xs:sequence>
<xs:element name="Name" type="xs:string" />
<xs:element name="Street" type="xs:string" " / >
<xs:element name="City" type="xs:string" />
<xs:element name="State" type="xs:string" />
<xs:element name="Zip" type= "postalCode " />
</xs:sequence>
</xs:complexType>
<xs:ชื่อองค์ประกอบ="ลูกค้า">
<xs:complexType>
<xs:sequence>
<xs:ชื่อองค์ประกอบ="CompanyName" type="xs :string " />
<xs:element name="ContactName" type="xs:string" />
<xs:element name="Email" type="xs:string" />
<xs:element name="Phone" type= "xs:string" />
<xs:element name="ShipToAddress" type="usAddress" />
<xs:element name="BillToAddress" type="usAddress" />
</xs:sequence>
</xs :complexType >
</xs:element>
เลือกบันทึกทั้งหมดจากเมนูไฟล์
7. หากต้องการอนุญาตให้มีข้อมูลลูกค้าหลายอินสแตนซ์ภายในเอกสาร XML เราจะสร้างองค์ประกอบที่เรียกว่า customerList ซึ่งจะมีองค์ประกอบลูกค้าแต่ละรายการทั้งหมด
สร้างองค์ประกอบ customerList ลาก "องค์ประกอบ" จากแท็บ XML Schema ของกล่องเครื่องมือลงบนพื้นผิวการออกแบบ เลือกชื่อเริ่มต้น "element1" และเปลี่ยนชื่อเป็น "customerList" อย่าเลือกประเภทข้อมูลสำหรับองค์ประกอบนี้ เลือกองค์ประกอบลูกค้า (สร้างไว้ก่อนหน้านี้) และลากไปยังองค์ประกอบ customerList บานหน้าต่างการออกแบบที่แยกจากกันถูกผูกไว้เพื่อแสดงโครงสร้างลำดับชั้นของข้อมูล เลือกบันทึกทั้งหมดจากเมนูไฟล์
8. เชื่อมโยงสคีมากับไฟล์ XML
สร้างการเชื่อมโยงระหว่างไฟล์ XML และสคีมา XML ใน "Solution Explorer" ให้ดับเบิลคลิกที่ไฟล์ "CustomerList.xml" ไฟล์ XML จะเปิดขึ้นในมุมมอง XML ของตัวออกแบบ ในหน้าต่างคุณสมบัติ คลิกเซลล์ทางด้านขวาของคุณสมบัติ targetSchema และเลือก http://tempuri.org/CustomerListSchema.xsd
Visual Studio เพิ่มการอ้างอิงไปยัง schema ในไฟล์ CustomerList.xml และเพิ่มแท็ก <customerList>
การเพิ่มข้อมูลลงในไฟล์ XML
9. ตอนนี้คุณสามารถเพิ่มข้อมูลลงในไฟล์ XML ได้แล้ว ด้วยการเชื่อมโยงสคีมากับไฟล์ XML ตอนนี้ตัวแก้ไข XML จะทราบองค์ประกอบที่ถูกต้องที่จะรวมไว้ในไฟล์ XML และจัดเตรียมตารางที่จัดรูปแบบไว้ในมุมมองข้อมูล
หากต้องการเพิ่มข้อมูลลงในไฟล์ customerList.xml ในไฟล์ "customerList.xml" ในมุมมอง XML ให้วางเคอร์เซอร์ระหว่างแท็กเปิดและปิด <customerList> (แท็กเริ่มต้น = <customerList>, แท็กปิด = </customerList>) .
พิมพ์ <. เลือกองค์ประกอบลูกค้า
พิมพ์ > เพื่อสิ้นสุดแท็ก
พิมพ์ < และเลือก CompanyName จากรายการองค์ประกอบที่ถูกต้อง
พิมพ์ > เพื่อสิ้นสุดแท็ก
พิมพ์ Blue Yonder Airlines เป็นชื่อบริษัท
สลับไปที่มุมมองข้อมูล พิมพ์ Nate Sun ในช่องชื่อผู้ติดต่อในตาราง กรอกบันทึกโดยเพิ่มข้อมูลลงในฟิลด์อื่นๆ ในกริด เปลี่ยนกลับไปเป็นมุมมอง "XML" ข้อมูลในตารางได้รับการจัดรูปแบบเป็น XML อย่างถูกต้องแล้ว
2. สร้าง XML schema จากไฟล์ XML
สร้าง XML schema ใหม่โดยยึดตามเอกสาร XML ที่มีอยู่
1. โหลดเอกสาร XML (ไฟล์ .xml) ลงใน "XML Designer"
2. คลิกสร้างสคีมาจากเมนู XML
3. XML schema (ไฟล์ .xsd) จะถูกเพิ่มลงในโปรเจ็กต์ปัจจุบันโดยใช้ชื่อเดียวกับไฟล์ XML ต้นฉบับ
4. โหลด XML schema (ไฟล์ .xsd) ที่สร้างขึ้นใหม่ลงใน "XML Designer"
5. ตรวจสอบและแก้ไขประเภทข้อมูลที่กำหนดเมื่อสร้างสคีมา
หมายเหตุ เมื่อได้รับสคีมาจากเอกสาร XML ที่มีอยู่ ชนิดข้อมูลทั้งหมดจะถูกตั้งค่าเป็นสตริงตั้งแต่แรก ดังนั้นคุณต้องแก้ไขชนิดข้อมูลตามความต้องการเนื้อหาของข้อมูล XML
หากคุณต้องการเปลี่ยนแปลงสคีมา คุณสามารถใช้ XML Designer เพื่อเพิ่ม แก้ไข และลบองค์ประกอบได้
http://www.cnblogs.com/xh831213/archive/2006/09/14/503944.html