<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://nfex.ru/index.php?action=history&amp;feed=atom&amp;title=Csharp%2FC_Sharp%2FXML%2FSchema</id>
		<title>Csharp/C Sharp/XML/Schema - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://nfex.ru/index.php?action=history&amp;feed=atom&amp;title=Csharp%2FC_Sharp%2FXML%2FSchema"/>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/C_Sharp/XML/Schema&amp;action=history"/>
		<updated>2026-04-29T20:21:20Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://nfex.ru/index.php?title=Csharp/C_Sharp/XML/Schema&amp;diff=280&amp;oldid=prev</id>
		<title> в 15:31, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/C_Sharp/XML/Schema&amp;diff=280&amp;oldid=prev"/>
				<updated>2010-05-26T15:31:18Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 15:31, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://nfex.ru/index.php?title=Csharp/C_Sharp/XML/Schema&amp;diff=281&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=Csharp/C_Sharp/XML/Schema&amp;diff=281&amp;oldid=prev"/>
				<updated>2010-05-26T11:34:14Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Choose ValidationType==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using System;&lt;br /&gt;
using System.Xml;&lt;br /&gt;
using System.Xml.Schema;&lt;br /&gt;
class ConsoleValidator {&lt;br /&gt;
    private bool failed;&lt;br /&gt;
    public bool Failed {&lt;br /&gt;
        get { return failed; }&lt;br /&gt;
    }&lt;br /&gt;
    public bool ValidateXml(string xmlFilename, string schemaFilename) {&lt;br /&gt;
        XmlReaderSettings settings = new XmlReaderSettings();&lt;br /&gt;
        settings.ValidationType = ValidationType.Schema;&lt;br /&gt;
        XmlSchemaSet schemas = new XmlSchemaSet();&lt;br /&gt;
        settings.Schemas = schemas;&lt;br /&gt;
        schemas.Add(null, schemaFilename);&lt;br /&gt;
        settings.ValidationEventHandler += ValidationEventHandler;&lt;br /&gt;
        XmlReader validator = XmlReader.Create(xmlFilename, settings);&lt;br /&gt;
        failed = false;&lt;br /&gt;
        try {&lt;br /&gt;
            while (validator.Read()) { }&lt;br /&gt;
        } catch (XmlException err) {&lt;br /&gt;
            Console.WriteLine(err.Message);&lt;br /&gt;
            failed = true;&lt;br /&gt;
        } finally {&lt;br /&gt;
            validator.Close();&lt;br /&gt;
        }&lt;br /&gt;
        return !failed;&lt;br /&gt;
    }&lt;br /&gt;
    private void ValidationEventHandler(object sender, ValidationEventArgs args) {&lt;br /&gt;
        failed = true;&lt;br /&gt;
        Console.WriteLine(&amp;quot;Validation error: &amp;quot; + args.Message);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
class MainClass {&lt;br /&gt;
    private static void Main() {&lt;br /&gt;
        ConsoleValidator consoleValidator = new ConsoleValidator();&lt;br /&gt;
        bool success = consoleValidator.ValidateXml(&amp;quot;ProductCatalog.xml&amp;quot;, &amp;quot;ProductCatalog.xsd&amp;quot;);&lt;br /&gt;
        Console.WriteLine(success);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Set XmlReaderSettings==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using System;&lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using System.ruponentModel;&lt;br /&gt;
using System.Data;&lt;br /&gt;
using System.Drawing;&lt;br /&gt;
using System.Text;&lt;br /&gt;
using System.Windows.Forms;&lt;br /&gt;
using System.Xml;&lt;br /&gt;
using System.Xml.XPath;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
    public static void Main() {&lt;br /&gt;
        XmlDocument doc = new XmlDocument();&lt;br /&gt;
        XmlReaderSettings rs = new XmlReaderSettings();&lt;br /&gt;
        rs.Schemas.Add(null, &amp;quot;books.xsd&amp;quot;);&lt;br /&gt;
        rs.ValidationType = ValidationType.Schema;&lt;br /&gt;
        XmlReader rdr = XmlReader.Create(&amp;quot;books.xml&amp;quot;, rs);&lt;br /&gt;
        doc.Load(rdr);&lt;br /&gt;
        XPathNavigator nav = doc.CreateNavigator();&lt;br /&gt;
        if (nav.CanEdit) {&lt;br /&gt;
            XPathNodeIterator iter = nav.Select(&amp;quot;/bookstore/book/price&amp;quot;);&lt;br /&gt;
            while (iter.MoveNext()) {&lt;br /&gt;
                iter.Current.SetTypedValue(&amp;quot;Invalid&amp;quot;);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        doc.Save(&amp;quot;newbooks.xml&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Use XmlReaderSettings to validate the Xml document==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
using System;&lt;br /&gt;
using System.Xml;&lt;br /&gt;
using System.Xml.Schema;&lt;br /&gt;
class ConsoleValidator {&lt;br /&gt;
    private bool failed;&lt;br /&gt;
    public bool Failed {&lt;br /&gt;
        get { return failed; }&lt;br /&gt;
    }&lt;br /&gt;
    public bool ValidateXml(string xmlFilename, string schemaFilename) {&lt;br /&gt;
        XmlReaderSettings settings = new XmlReaderSettings();&lt;br /&gt;
        settings.ValidationType = ValidationType.Schema;&lt;br /&gt;
        XmlSchemaSet schemas = new XmlSchemaSet();&lt;br /&gt;
        settings.Schemas = schemas;&lt;br /&gt;
        schemas.Add(null, schemaFilename);&lt;br /&gt;
        settings.ValidationEventHandler += ValidationEventHandler;&lt;br /&gt;
        XmlReader validator = XmlReader.Create(xmlFilename, settings);&lt;br /&gt;
        failed = false;&lt;br /&gt;
        try {&lt;br /&gt;
            while (validator.Read()) { }&lt;br /&gt;
        } catch (XmlException err) {&lt;br /&gt;
            Console.WriteLine(err.Message);&lt;br /&gt;
            failed = true;&lt;br /&gt;
        } finally {&lt;br /&gt;
            validator.Close();&lt;br /&gt;
        }&lt;br /&gt;
        return !failed;&lt;br /&gt;
    }&lt;br /&gt;
    private void ValidationEventHandler(object sender, ValidationEventArgs args) {&lt;br /&gt;
        failed = true;&lt;br /&gt;
        Console.WriteLine(&amp;quot;Validation error: &amp;quot; + args.Message);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
class MainClass {&lt;br /&gt;
    private static void Main() {&lt;br /&gt;
        ConsoleValidator consoleValidator = new ConsoleValidator();&lt;br /&gt;
        bool success = consoleValidator.ValidateXml(&amp;quot;ProductCatalog.xml&amp;quot;, &amp;quot;ProductCatalog.xsd&amp;quot;);&lt;br /&gt;
        Console.WriteLine(success);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Use XML schema to validate XML documents==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
using System.IO;&lt;br /&gt;
using System.Xml;&lt;br /&gt;
using System.Xml.Schema;&lt;br /&gt;
public class Validate {&lt;br /&gt;
  public static void Main(string [] args) {&lt;br /&gt;
    using (Stream stream = File.OpenRead(args[0])) {&lt;br /&gt;
      XmlValidatingReader reader = new XmlValidatingReader(new XmlTextReader(stream));&lt;br /&gt;
      reader.ValidationType = ValidationType.Schema;&lt;br /&gt;
      reader.Schemas.Add(&amp;quot;&amp;quot;, args[1]);&lt;br /&gt;
      reader.ValidationEventHandler += new ValidationEventHandler(Handler);&lt;br /&gt;
      while (reader.Read()) {&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    Console.WriteLine(&amp;quot;Document is valid.&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
  public static void Handler(object sender, ValidationEventArgs e) {&lt;br /&gt;
    Console.WriteLine(e.Message);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Validate an XML Document Against a Schema==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
using System.Xml;&lt;br /&gt;
using System.Xml.Schema;&lt;br /&gt;
public class ConsoleValidator {&lt;br /&gt;
    public static void ValidateXml(string xmlFilename, string schemaFilename) {&lt;br /&gt;
        XmlTextReader r = new XmlTextReader(xmlFilename);&lt;br /&gt;
        XmlValidatingReader validator = new XmlValidatingReader(r);&lt;br /&gt;
        validator.ValidationType = ValidationType.Schema;&lt;br /&gt;
        XmlSchemaCollection schemas = new XmlSchemaCollection();&lt;br /&gt;
        schemas.Add(null, schemaFilename);&lt;br /&gt;
        validator.Schemas.Add(schemas);&lt;br /&gt;
        validator.ValidationEventHandler += new ValidationEventHandler(ValidationEventHandler);&lt;br /&gt;
            &lt;br /&gt;
        try {&lt;br /&gt;
            while (validator.Read())&lt;br /&gt;
            {}&lt;br /&gt;
        }catch (XmlException err) {&lt;br /&gt;
            Console.WriteLine(err.Message);&lt;br /&gt;
        }finally {&lt;br /&gt;
            validator.Close();&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    private static void ValidationEventHandler(object sender, ValidationEventArgs args) {&lt;br /&gt;
        Console.WriteLine(&amp;quot;Validation error: &amp;quot; + args.Message);&lt;br /&gt;
    }&lt;br /&gt;
    private static void Main() {&lt;br /&gt;
        Console.WriteLine(&amp;quot;Validating your.xml.&amp;quot;);&lt;br /&gt;
        ValidateXml(&amp;quot;your.xml&amp;quot;, &amp;quot;your.xsd&amp;quot;);&lt;br /&gt;
    }    &lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Validate Schema==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
using System.IO;&lt;br /&gt;
using System.Xml.Schema;&lt;br /&gt;
public class ValidateSchema {&lt;br /&gt;
  public static void Main(string [] args) {&lt;br /&gt;
    ValidationEventHandler handler = new ValidationEventHandler(ValidateSchema.Handler);&lt;br /&gt;
    XmlSchema schema = XmlSchema.Read(File.OpenRead(args[0]),handler);&lt;br /&gt;
    schema.rupile(handler);&lt;br /&gt;
  }&lt;br /&gt;
  public static void Handler(object sender, ValidationEventArgs e) {&lt;br /&gt;
    Console.WriteLine(e.Message);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
           &lt;br /&gt;
       &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>