using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Xml.Schema; using System.Xml; using System.IO; namespace 예제_4._2_스키마_파일에_의거하여_데이터_읽기 { class Program { static void Main(string[] args) { XmlSchemaSet sc = new XmlSchemaSet(); sc.Add("xs", "data.xsd"); XmlReaderSettings settings = new XmlReaderSettings(); settings.ValidationType = ValidationType.Schema; settings.Schemas = sc; settings.ValidationEventHandler += new ValidationEventHandler(ValidationCallBack); TestLoading("data.xml",settings); TestLoading("data2.xml",settings); } private static void TestLoading(string path, XmlReaderSettings settings) { XmlReader reader = XmlReader.Create(path, settings); XmlWriter xwriter = XmlWriter.Create(Console.Out); xwriter.WriteNode(reader, false); xwriter.Close(); Console.WriteLine(); reader.Close(); } //유효성 위배가 있을 시 콜솔에 출력 private static void ValidationCallBack(object sender, ValidationEventArgs e) { Console.WriteLine("Validation Error: {0}", e.Message); } } }