ขณะนี้คุณออฟไลน์อยู่ กำลังรออินเทอร์เน็ตเพื่อเชื่อมต่ออีกครั้ง

HOW TO: การตรวจสอบ Fragments XML กับแบบแผนการ XML ใน Visual Basic .NET

ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ

ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:317463
บทความนี้ถูกเก็บถาวรแล้วเนื้อหาของบทความจึงถูกนำเสนอ "ตามลักษณะที่เป็น" และจะไม่มีการปรับปรุงข้อมูลอีก
มีการอ้างอิงถึงในบทความนี้ namespaces ไลบรารีคลาสของ.NET Framework ต่อไปนี้: System.XMLสำหรับรุ่น Microsoft Visual c# .NET ของบทความนี้ ดู318504.

ในกรณีนี้

สรุป
บทความที่มีการทีละขั้นตอนนี้อธิบายวิธีการใช้XmlValidatingReaderและXMLSchemaCollectionวัตถุเพื่อตรวจสอบการมีส่วน Extensible Markup ภาษา (XML) กับ XML schema

XmlValidatingReaderใช้นั้นXmlReaderคลาส และให้การสนับสนุนสำหรับการตรวจสอบข้อมูล XML กระบวนการschema ที่คุณสมบัติของXmlValidatingReaderการเชื่อมต่อเครื่องอ่านแฟ้ม schema แคในการXmlSchemaCollection. กระบวนการValidationTypeคุณสมบัติของXmlValidatingReaderระบุชนิดของการตรวจสอบเครื่องอ่านควรดำเนินการ ถ้าคุณตั้งค่าคุณสมบัติValidationType.Noneคุณสร้างตัวอ่าน nonvalidating

คุณสามารถเพียงเพิ่ม schema ที่ภาษาในคำนิยามเค้าร่าง XML (XSD) และ schema ที่ลดการข้อมูล XML (XDR) ไปยังXmlSchemaCollection. ใช้แบบaddวิธีการ มี namespace URI โหลด schema ที่ XML schema ที่ namespace ที่โดยปกติ URI มีtargetNamespaceคุณสมบัติของแบบแผน

back to the top

ความต้องการ

รายการต่อไปนี้แสดงฮาร์ดแวร์ที่แนะนำ ซอฟต์แวร์ โครงสร้างพื้นฐานของเครือข่าย และ service pack ที่คุณต้องการ:
  • Microsoft Visual Studio .NET ติดตั้งอยู่บนระบบปฏิบัติการ Microsoft Windows เข้ากันได้
บทความนี้อนุมานว่า คุณไม่คุ้นเคยกับหัวข้อต่อไปนี้:
  • visual Basic .NET
  • มาตรฐาน XML พื้นฐาน
  • schema ที่ xsd
back to the top

สร้างแบบแผนการ XSD

วางรหัสต่อไปนี้ในแฟ้มข้อความใหม่ที่ชื่อ C:\Books.xsd:
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:bookstore-schema" elementFormDefault="qualified" targetNamespace="urn:bookstore-schema">	<xsd:element name="bookstore" type="bookstoreType" />	<xsd:element name="comment" type="xsd:string" />	<xsd:element name="author" type="authorName"/>	<xsd:complexType name="authorName">		<xsd:sequence>			<xsd:element name="first-name" type="xsd:string" />			<xsd:element name="last-name" type="xsd:string" />		</xsd:sequence>	</xsd:complexType>	<xsd:complexType name="bookstoreType">		<xsd:sequence maxOccurs="unbounded">			<xsd:element name="book" type="bookType" />			<xsd:element ref="comment" minOccurs="0" />		</xsd:sequence>	</xsd:complexType>	<xsd:complexType name="bookType">		<xsd:sequence>			<xsd:element name="title" type="xsd:string" />			<xsd:element ref="author" />			<xsd:element name="price" type="xsd:decimal" />		</xsd:sequence>		<xsd:attribute name="genre" type="xsd:string" />	</xsd:complexType>	</xsd:schema>				
back to the top

สร้างโปรแกรมประยุกต์.NET ของ Visual Basic

  1. Visual Basic .NET Windows ใหม่ในการสร้างโปรแกรมประยุกต์
  2. ลากbutton1เมื่อต้องการ Form1 วางรหัสต่อไปนี้เพื่อเพิ่มตัวแปรสมาชิกส่วนตัวไปForm1 คลาส:
    Dim m_success As Boolean					
  3. วางกระบวนการย่อยต่อไปนี้เพื่อสร้างคำValidationEventHandlerที่ raises ข้อผิดพลาดในการตรวจสอบในนั้นXMLValidatingReaderวัตถุ:
    Public Sub ValidationEventHandle(ByVal sender As Object, ByVal args As ValidationEventArgs)        m_success = False        Console.WriteLine((ControlChars.CrLf & ControlChars.Tab & "Validation error: " & args.Message))    End Sub 'ValidationEventHandle						
    หมายเหตุ:: คุณต้องมีตัวจัดการเหตุการณ์การรับข้อมูลเกี่ยวกับข้อผิดพลาดในการตรวจสอบในข้อมูลชนิดข้อกำหนด (DTD), ข้อมูล XML หัก (XDR) แบบแผน และแบบ XML schema คำจำกัดความภาษา (XSD) แผน อาร์กิวเมนต์ชนิดของการได้รับการจัดการเหตุการณ์ValidationEventArgsที่ประกอบด้วยข้อมูลที่เกี่ยวข้องกับเหตุการณ์นี้

    ตัวจัดการการเรียกกลับที่สามารถใช้ได้ValidationEventArgs.Severityคุณสมบัติการรับประกันว่า อินสแตนซ์เอกสาร XML ไม่ผ่านการตรวจสอบกับ schema กระบวนการความรุนแรงคุณสมบัติช่วยให้คุณสามารถแยกความแตกต่างระหว่าง(ข้อผิดพลาดการตรวจสอบความรุนแรงเท่ากับXmlSeverityType.Error) ที่บ่งชี้ว่า มีข้อผิดพลาดร้ายแรง และ(การแจ้งเตือนการตรวจสอบความรุนแรงเท่ากับXmlSeverityType.Warning) ที่บ่งชี้ว่า ไม่มีข้อมูล schema ไม่พร้อมใช้งาน
  4. วางรหัสต่อไปนี้ในการButton1_Clickกระบวนงานเหตุการณ์:
            Dim reader As XmlValidatingReader = Nothing        Dim myschema As New XmlSchemaCollection()        Try            'Create the XML fragment to be parsed.            Dim xmlFrag As String = "<author  xmlns='urn:bookstore-schema' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>" & _                            "<first-name>Herman</first-name>" & _                           "<last-name>Melville</last-name>" & _                         "</author>"            'Create the XmlParserContext.            Dim context As New XmlParserContext(Nothing, Nothing, "", XmlSpace.None)                       'Implement the reader.             reader = New XmlValidatingReader(xmlFrag, XmlNodeType.Element, context)            'Add the schema.            myschema.Add("urn:bookstore-schema", "Books.xsd")            'Set the schema type and add the schema to the reader.            reader.ValidationType = ValidationType.Schema            reader.Schemas.Add(myschema)            'Add the handler to raise the validation event.            AddHandler reader.ValidationEventHandler, AddressOf Me.ValidationEventHandle            While reader.Read            End While            Console.WriteLine("Completed validating xmlfragment")        Catch XmlExp As XmlException            Console.WriteLine(XmlExp.Message)        Catch XmlSchExp As XmlSchemaException            Console.WriteLine(XmlSchExp.Message)        Catch GenExp As Exception            Console.WriteLine(GenExp.Message)        End Try    End Sub					
  5. เมื่อข้อความต่อไปนี้จะแสดงในหน้าต่างการแสดงผล ส่วน XML มีองค์ประกอบที่ถูกต้อง:
    Completed validating xmlfragment					
หมายเหตุ:: แบบXMLValidatingReaderวัตถุ validates เฉพาะ declarations ชนิดและองค์ประกอบระดับบนสุดในแบบแผน XML xml fragments เช่นองค์ประกอบย่อย จะถือว่าเป็นการภายใน คุณไม่สามารถส่ง fragments XML ไปยังXmlValidatingReaderสำหรับโดยตรงการตรวจสอบจนกว่าคุณประกาศ XML fragments องค์ประกอบระดับบนสุดตาม และการตั้งค่าการอ้างอิงที่ระดับที่จำเป็นต้อง

back to the top
ข้อมูลอ้างอิง
สำหรับข้อมูลเพิ่มเติม ให้คลิกหมายเลขบทความด้านล่างนี้ เพื่อดูบทความใน Microsoft Knowledge Base::
307379HOW TO: ตรวจสอบในเอกสาร XML โดยใช้ DTD, XDR หรือ XSD ใน Visual .NET c#
313826ข้อมูล: ผังสำหรับ XML แบบแผนใน.NET Framework
313651ข้อมูล: ผังสำหรับ XML ใน.NET Framework
สำหรับข้อมูลเพิ่มเติม ให้ดู MSDN ต่อไปนี้เว็บไซต์:back to the top

คำเตือน: บทความนี้ได้รับการแปลโดยอัตโนมัติ

คุณสมบัติ

รหัสบทความ: 317463 - การตรวจสอบครั้งสุดท้าย: 12/07/2015 08:53:31 - ฉบับแก้ไข: 3.0

Microsoft Visual Basic .NET 2003 Standard Edition, Microsoft Visual Basic .NET 2002 Standard Edition, Microsoft .NET Framework 1.1, Microsoft .NET Framework 1.0

  • kbnosurvey kbarchive kbhowtomaster kbmt KB317463 KbMtth
คำติชม