Use XML Document (DOM) to validate XML against XML schema : Validate XML « XML « ASP.Net

ASP.Net
1. ADO.net Database
2. Asp Control
3. Collections
4. Components
5. Data Binding
6. Development
7. HTML Control
8. Mobile Control
9. Page
10. Request
11. Response
12. Server
13. Session Cookie
14. User Control and Master Page
15. Validation by Control
16. Validation by Function
17. XML
Microsoft Office Word 2007 Tutorial
Java
Java Tutorial
Java Source Code / Java Documentation
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
C# / C Sharp
C# / CSharp Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
PHP
Python
SQL Server / T-SQL
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
ASP.Net » XML » Validate XML 
Use XML Document (DOM) to validate XML against XML schema

<%@ Page Language="C#"%>
<%@ Import Namespace="System.Xml" %>
<%@ Import Namespace="System.Xml.Schema" %>

<script runat="server">    
    private StringBuilder stringBuilder = new StringBuilder();
    void Page_Load(object sender, EventArgs e)
    {
        string xmlPath = MapPath("Authors.xml");    
        string xsdPath = MapPath("Authors.xsd");
        XmlDocument xmlDoc = new XmlDocument();
        xmlDoc.Load(xmlPath);
        XmlElement authorElement = (XmlElementxmlDoc.DocumentElement.SelectSingleNode("//authors/author[authorID='000-00-0001']");
        authorElement.SetAttribute("Java2s""Java2s");
        XmlNodeReader nodeReader = new XmlNodeReader(xmlDoc);
        XmlReader reader = null;        
        XmlReaderSettings settings = new XmlReaderSettings();
        settings.ValidationEventHandler += new ValidationEventHandler(this.ValidationEventHandler);
        settings.ValidationType = ValidationType.Schema;        
        settings.Schemas.Add(null, XmlReader.Create(xsdPath));
        reader = XmlReader.Create(nodeReader, settings);
        while (reader.Read()) 
        {            
        }
        if (stringBuilder.ToString() == String.Empty)
            Response.Write("Validation completed successfully.");
        else
            Response.Write("Validation Failed. <br>" + stringBuilder.ToString());
    }

    void ValidationEventHandler(object sender, ValidationEventArgs args)
    {        
        stringBuilder.Append("Validation error: " + args.Message + "<br>");                
    }    
  
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>DOM Validation</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>                
    </div>
    </form>
</body>
</html>



<%-- File: Authors.xml
<?xml version="1.0"?>
<authors>
  <author>
    <authorID>000-00-0001</authorID>
    <lastName>Nancy</lastName>
    <firstName>Lee</firstName>
    <phone>999 999-9999</phone>
    <address>9999 York St.</address>
    <city>Regina</city>
    <state>LA</state>
    <zip>99999</zip>
    <contract>true</contract>
  </author>
  <author>
    <authorID>000-00-0002</authorID>
    <lastName>First</lastName>
    <firstName>Last</firstName>
    <phone>415 986-7020</phone>
    <address>No Name St.</address>
    <city>Vancouver</city>
    <state>BC</state>
    <zip>88888</zip>
    <contract>true</contract>
  </author> 
</authors>

--%>



<%-- File: Authors.xsd
<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="authors">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="unbounded" name="author">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="authorID" type="xs:string" />
              <xs:element name="lastName" type="xs:string" />
              <xs:element name="firstName" type="xs:string" />
              <xs:element name="phone" type="xs:string" />
              <xs:element name="address" type="xs:string" />
              <xs:element name="city" type="xs:string" />
              <xs:element name="state" type="xs:string" />
              <xs:element name="zip" type="xs:unsignedInt" />
              <xs:element name="contract" type="xs:boolean" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>
--%>
           
       
Related examples in the same category
1. XML data validation
2. Validate XML against XML schema
w___w_w_._j___a___va2_s___.___co__m | Contact Us
Copyright 2003 - 08 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.