Mega Code Archive

 
Categories / VB.Net / XML
 

Extensions Validate validates that an XDocument conforms to an XSD in an XmlSchemaSet

Imports System Imports System.Xml Imports System.Xml.XPath Imports System.Xml.Schema Public Class MainClass         Shared errors As Boolean = False                  Private Shared Sub XSDErrors(ByVal o As Object, ByVal e As ValidationEventArgs)             Console.WriteLine("{0}", e.Message)             errors = True         End Sub                  Public Shared Sub Main()             Dim xsdMarkup As XDocument = _             <?xml version='1.0'?>             <xsd:schema xmlns:xsd='http://www.w3.org/2001/XMLSchema'>                 <xsd:element name='Root'>                     <xsd:complexType>                         <xsd:sequence>                             <xsd:element name='Child1' minOccurs='1' maxOccurs='1'/>                             <xsd:element name='Child2' minOccurs='1' maxOccurs='1'/>                         </xsd:sequence>                     </xsd:complexType>                 </xsd:element>             </xsd:schema>                      Dim schemas As XmlSchemaSet = New XmlSchemaSet()             schemas.Add("", xsdMarkup.CreateReader)                      Dim doc1 As XDocument = _             <?xml version='1.0'?>             <Root>                 <Child1>content1</Child1>                 <Child2>content2</Child2>             </Root>             errors = False             doc1.Validate(schemas, AddressOf XSDErrors)             Console.WriteLine("doc1 {0}", IIf(errors, "did not validate", "validated"))     End Sub End Class