Visual Basic .NETÀÇ ¿¡¼­ XML ½ºÅ°¸¶ ±âÁØÀ¸·Î XML Á¶°¢ ¹æ¹ý È®ÀÎ

±â¼ú ÀÚ·á: 317463 - ÀÌ ¹®¼­°¡ Àû¿ëµÇ´Â Á¦Ç° º¸±â.
¸ðµÎ È®´ë | ¸ðµÎ Ãà¼Ò

ÀÌ ÆäÀÌÁö¿¡¼­

¿ä¾à

ÀÌ ¹®¼­¿¡¼­´Â XmlValidatingReader ¹× XMLSchemaCollection °³Ã¼¸¦ È®ÀåÇÒ ÅÂ±× ¾ð¾î (XML) Á¶°¢À» XML ½ºÅ°¸¶¿¡ ´ëÇØ À¯È¿¼ºÀ» °Ë»çÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÕ´Ï´Ù.

XmlValidatingReaderXmlReader Ŭ·¡½º¸¦ ±¸ÇöÇϰí XML µ¥ÀÌÅÍ À¯È¿¼º °Ë»ç Áö¿øÀ» Á¦°øÇÕ´Ï´Ù. XmlValidatingReader ÀÇ ½ºÅ°¸¶ ¼Ó¼ºÀÌ ÀÖ´Â XmlSchemaCollection ij½ÃµÈ ½ºÅ°¸¶ ÆÄÀÏ ÆÇµ¶±â¸¦ ¿¬°áÇÕ´Ï´Ù. XmlValidatingReaderValidationType ¼Ó¼ºÀ» ÆÇµ¶±â°¡ ¼öÇàÇÒ À¯È¿¼º °Ë»çÀÇ Çü½ÄÀ» ÁöÁ¤ÇÕ´Ï´Ù. ValidationType.None ¼ö ÀÖ´Â ¼Ó¼ºÀ» ¼³Á¤ÇÏÁö ¾ÊÀ¸¸é nonvalidating ÆÇµ¶±â¸¦ ¸¸µì´Ï´Ù.

XmlSchemaCollection À§ÇØ XSD (XML ½ºÅ°¸¶ Á¤ÀÇ ¾ð¾î) ½ºÅ°¸¶¿Í XML-Data °¨¼Ò (XDR) ½ºÅ°¸¶¸¦ Ãß°¡ÇÒ ¼ö ÀÖ½À´Ï´Ù. Add ¸Þ¼­µå¸¦ ³×ÀÓ½ºÆäÀ̽º URI´Â ½ºÅ°¸¶¸¦ ·ÎµåÇÒ ¼ö ÀÖ½À´Ï´Ù. XML ½ºÅ°¸¶¸¦ ÀϹÝÀûÀÎ ³×ÀÓ½ºÆäÀ̽º URI¸¦ ½ºÅ°¸¶¿¡ targetNamespace ¼Ó¼ºÀÔ´Ï´Ù.

¿ä±¸ »çÇ×

´ÙÀ½Àº ±ÇÀåµÇ´Â Çϵå¿þ¾î, ¼ÒÇÁÆ®¿þ¾î, ³×Æ®¿öÅ© ÀÎÇÁ¶ó ¹× ÇÊ¿äÇÑ ¼­ºñ½º ÆÑÀÇ ¸ñ·ÏÀÔ´Ï´Ù.
  • Microsoft Visual Studio ȣȯµÇ´Â Microsoft Windows ¿î¿µ üÁ¦¿¡ ¼³Ä¡µÈ .NET
ÀÌ ¹®¼­¿¡¼­´Â »ç¿ëÀÚ°¡ ´ÙÀ½ Ç׸ñÀ» Àß ¾Ë°í ÀÖ´Ù°í °¡Á¤ÇÕ´Ï´Ù.
  • Visual Basic .NET
  • ±âº» XML Ç¥ÁØ
  • XSD ½ºÅ°¸¶

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>
				

Visual Basic .NET ÀÀ¿ë ÇÁ·Î±×·¥ ¸¸µé±â

  1. ¸¸µé »õ Visual Basic .NET Windows ÀÀ¿ë ÇÁ·Î±×·¥.
  2. Button1 Form1¿¡ ²ü´Ï´Ù. Class Form1 Àü¿ë ¸â¹ö º¯¼ö¸¦ Ãß°¡ÇÏ·Á¸é ´ÙÀ½ Äڵ带 ºÙ¿© ³Ö½À´Ï´Ù.
    Dim m_success As Boolean
    					
  3. XMLValidatingReader °³Ã¼ À¯È¿¼º °Ë»ç ¿À·ù¸¦ ¹ß»ý½ÃŰ´Â ValidationEventHandler ¸¸µé·Á¸é ´ÙÀ½ ÇÏÀ§ ÇÁ·Î½ÃÀúÀÇ ºÙ¿©³Ö±â:
    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-Data °¨¼Ò (XDR) À¯È¿¼º °Ë»ç ¿À·ù¿¡ ´ëÇÑ Á¤º¸¸¦ ¹ÞÀ» À̺¥Æ® 󸮱⸦ Æ÷ÇÔÇØ¾ß ÇÕ´Ï´Ù ½ºÅ°¸¶ ¹× XML ½ºÅ°¸¶ Á¤ÀÇ ¾ð¾î(XSD) ½ºÅ°¸¶¸¦. À̺¥Æ® 󸮱â´Â ÀÌ À̺¥Æ®¿Í °ü·ÃµÈ µ¥ÀÌÅ͸¦ Æ÷ÇÔÇÏ´Â ValidationEventArgs Çü½ÄÀÇ Àμö¸¦ ¹Þ½À´Ï´Ù.

    Äݹé 󸮱⸦ ValidationEventArgs.Severity ¼Ó¼ºÀ» »ç¿ëÇÏ¿© ½ºÅ°¸¶¿¡ ´ëÇØ XML ÀνºÅϽº ¹®¼­ÀÇ À¯È¿¼ºÀ» º¸ÀåÇÒ ¼ö ÀÖ½À´Ï´Ù. ½É°¢µµ ¼Ó¼ºÀ» »ç¿ëÇϸé Ä¡¸íÀûÀÎ ¿À·ù ³ªÅ¸³À´Ï´Ù (½É°¢µµ ¼ö XmlSeverityType.Error °°ÀºÁö) À¯È¿¼º °Ë»ç ¿À·ù°¡ ÀÖ´Â À¯È¿¼º °Ë»ç ±¸ºÐÇÒ ¼ö ÀÖ½À´Ï´Ù (½É°¢µµ ¼ö XmlSeverityType.Warning °°ÀºÁö) °æ°í ½ºÅ°¸¶ Á¤º¸¸¦ »ç¿ëÇÒ ¼ö ÀÖÀ½À» ³ªÅ¸³À´Ï´Ù.
  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 °³Ã¼ Çü½Ä ¼±¾ð°ú ÃÖ»óÀ§ ¿ä¼Ò¸¦ XML ½ºÅ°¸¶ÀÇ À¯È¿¼ºÀ» °Ë»çÇÕ´Ï´Ù. ÇÏÀ§ ¿ä¼Ò (¿¹: XML ´ÜÆíÀº ·ÎÄà °£Áֵ˴ϴÙ. ÃÖ»óÀ§ ¿ä¼Ò·Î XML ´ÜÆíÀ» ¼±¾ðÇϰí ÂüÁ¶°¡ ÇÊ¿äÇÑ ¼öÁØÀ¸·Î ¼³Á¤µÈ °æ¿ì°¡ ¾Æ´Ï¸é Á÷Á¢ À¯È¿¼º °Ë»ç¸¦ À§ÇØ XmlValidatingReader XML ´ÜÆíÀ» Àü´ÞÇÒ ¼ö ¾ø½À´Ï´Ù.

ÂüÁ¶

ÀÚ¼¼ÇÑ ³»¿ëÀº Microsoft ±â¼ú ÀÚ·á ¹®¼­¸¦ º¸·Á¸é ÇØ´ç ÀÚ·áÀÇ ¹®¼­¸¦ ÂüÁ¶ÇϽʽÿÀ.
307379¹æ¹ý: DTD, XDR, ¶Ç´Â XSD¿¡¼­ Visual C# .NETÀ» »ç¿ëÇÏ¿© XML ¹®¼­ À¯È¿¼º °Ë»ç
313826.NET Framework´Â XML ½ºÅ°¸¶¿¡¼­ Á¤º¸: ·Îµå¸Ê
313651.NET Framework¿¡¼­ XML Á¤º¸: ·Îµå¸Ê
ÀÚ¼¼ÇÑ ³»¿ëÀº ´ÙÀ½ MSDN À¥ »çÀÌÆ®:
System.Xml ³×ÀÓ½ºÆäÀ̽º
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemxml.asp

XML À¥ ¼­ºñ½º
http://msdn.microsoft.com/xml

¼Ó¼º

±â¼ú ÀÚ·á: 317463 - ¸¶Áö¸· °ËÅä: 2003³â 9¿ù 3ÀÏ ¼ö¿äÀÏ - ¼öÁ¤: 2.2
º» ¹®¼­ÀÇ Á¤º¸´Â ´ÙÀ½ÀÇ Á¦Ç°¿¡ Àû¿ëµË´Ï´Ù.
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft .NET Framework 1.1
  • Microsoft .NET Framework 1.0
Ű¿öµå:?
kbmt kbhowtomaster KB317463 KbMtko
±â°è ¹ø¿ªµÈ ¹®¼­
Áß¿ä: º» ¹®¼­´Â Àü¹® ¹ø¿ª°¡°¡ ¹ø¿ªÇÑ °ÍÀÌ ¾Æ´Ï¶ó Microsoft ±â°è ¹ø¿ª ¼ÒÇÁÆ®¿þ¾î·Î ¹ø¿ªÇÑ °ÍÀÔ´Ï´Ù. Microsoft´Â ¹ø¿ª°¡°¡ ¹ø¿ªÇÑ ¹®¼­ ¹× ±â°è ¹ø¿ªµÈ ¹®¼­¸¦ ¸ðµÎ Á¦°øÇϹǷΠMicrosoft ±â¼ú ÀÚ·á¿¡ ÀÖ´Â ¸ðµç ¹®¼­¸¦ Çѱ۷ΠÁ¢ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª ±â°è ¹ø¿ª ¹®¼­°¡ Ç×»ó ¿Ïº®ÇÑ °ÍÀº ¾Æ´Õ´Ï´Ù. µû¶ó¼­ ±â°è ¹ø¿ª ¹®¼­¿¡´Â ¸¶Ä¡ ¿Ü±¹ÀÎÀÌ Çѱ¹¾î·Î ¸»ÇÒ ¶§ ½Ç¼ö¸¦ ÇÏ´Â °Íó·³ ¾îÈÖ, ±¸¹® ¶Ç´Â ¹®¹ý¿¡ ¿À·ù°¡ ÀÖÀ» ¼ö ÀÖ½À´Ï´Ù. Microsoft´Â ³»¿ë»óÀÇ ¿À¿ª ¶Ç´Â Microsoft °í°´ÀÌ ÀÌ·¯ÇÑ ¿À¿ªÀ» »ç¿ëÇÔÀ¸·Î½á ¹ß»ýÇÏ´Â ºÎ Á¤È®¼º, ¿À·ù ¶Ç´Â ¼ÕÇØ¿¡ ´ëÇØ Ã¥ÀÓÀ» ÁöÁö ¾Ê½À´Ï´Ù. Microsoft´Â ÀÌ·¯ÇÑ ¹®Á¦¸¦ ÇØ°áÇϱâ À§ÇØ ±â°è ¹ø¿ª ¼ÒÇÁÆ®¿þ¾î¸¦ ÀÚÁÖ ¾÷µ¥ÀÌÆ®Çϰí ÀÖ½À´Ï´Ù.

Çǵå¹é º¸³»±â