日期:2014-05-18  浏览次数:20839 次

Winform 如何根据Schema 生成XML文件
如题,有一个Schema.xsd 

根据这个Schema 
生成xml文件,并进行验证。

------解决方案--------------------
1.创建XmlReaderSettings对象,添加XSD模式;
2.设置属性ValidationType = ValidationType.Schema,在读取时执行验证;
3.设置ValidationEventHandler属性处理验证失败,验证失败时不处理异常,而是显示验证失败消息;
4.创建含有XmlReaderSettings对象的XmlReader读取器,验证数据。
------解决方案--------------------
C# code
XmlReaderSettings settings = new XmlReaderSettings();
            //添加模式
            settings.Schemas.Add(null, @"..\..\books.xsd");
            //在读取时执行验证
            settings.ValidationType = ValidationType.Schema;
            //不处理异常,而是显示验证失败信息
            settings.ValidationEventHandler += new System.Xml.Schema.ValidationEventHandler(settings_ValidationEventHandler);
            //创建含有XmlReaderSettings对象的XmlReader读取器
            XmlReader reader = XmlReader.Create(@"..\..\books.xml", settings);
            while (reader.Read())
            {
                if (reader.NodeType == XmlNodeType.Text)
                {
                    Console.WriteLine(reader.Value);
                }
            }
            Console.ReadLine();