xsd (XML Schema Definition Language)によって、XMLを検証する(Validate)

XSD(XML Schema Definition Language)はXMLの構造を定義したファイルで、XSDを使用してXMLの構造が正しいかどうか検証することが出来ます。
これには、XmlReader、XmlReaderSettings、XmlSchemaSetクラスを利用します。

name要素とjob要素が必ず1つ必要なXSD定義がある場合、Job要素が無いXMLを読み込むと例外が発生するようになります。XSDによる検証は読み込んだXMLのうち、最初に問題が見つかった時点で例外が発生し、それ以降の検証は打ち切られます。(すべてのエラーを検出できるわけではありません。)


要素 'item' には不完全な内容が含まれています。必要とされる要素は 'job' です。
何かキーを押すと処理を終了します。














taro kobe


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.Xml.Schema;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{

XmlSchemaSet sc = new XmlSchemaSet();
sc.Add(null, "test.xsd");

XmlReaderSettings settings = new XmlReaderSettings();
settings.ValidationType = ValidationType.Schema;
settings.Schemas = sc;

XmlReader reader = XmlReader.Create("test.xml", settings);

try
{
while (reader.Read())
{
}
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}

reader.Close();

Console.WriteLine("何かキーを押すと処理を終了します。");
Console.Read();

}
}
}