http://msdn.microsoft.com/zh-cn/developercenters/z2adhb2f.aspx
.NET Framework 开发人员指南
使用 XmlReader 进行 DTD 验证
更新:November 2007
文档类型定义 (DTD) 验证使用在万维网联合会 (W3C) 可扩展标记语言 (XML) 1.0 建议中定义的有效性约束来实现。 DTD 使用形式语法来描述符合标准的 XML 文档的结构和语法;它们指定 XML 文档所允许的内容和值。
为针对 DTD 执行验证,XmlReader 使用 XML 文档的 DOCTYPE 声明中所定义的 DTD。 DOCTYPE 声明既可以指向内联 DTD,也可以是对外部 DTD 文件的引用。
将 XmlReaderSettings..::.ProhibitDtd 属性设置为 false。
将 XmlReaderSettings..::.ValidationType 属性设置为 ValidationType.DTD。
如果 DTD 是存储在要求进行身份验证的网络资源上的外部文件,请将具有必要凭据的 XmlResolver 对象传递给 Create 方法。
示例
using System; using System.Xml; using System.Xml.Schema; using System.IO; public class Sample { public static void Main() { // Set the validation settings. XmlReaderSettings settings = new XmlReaderSettings(); settings.ProhibitDtd = false; settings.ValidationType = ValidationType.DTD; settings.ValidationEventHandler += new ValidationEventHandler (ValidationCallBack); // Create the XmlReader object. XmlReader reader = XmlReader.Create("itemDTD.xml", settings); // Parse the file. while (reader.Read()); } // Display any validation errors. private static void ValidationCallBack(object sender, ValidationEventArgs e) { Console.WriteLine("Validation Error: {0}", e.Message); } }
输入
示例使用 itemDTD.xml 文件作为输入。
<!--XML file using a DTD--> DOCTYPE store [ ELEMENT store (item)*> ELEMENT item (name,dept,price)> ATTLIST item type CDATA #REQUIRED> ELEMENT name (#PCDATA)> ELEMENT price (#PCDATA)>]> <store> <item type="supplies" ISBN="2-3631-4"> <name>paintname> <price>16.95price> item> store>
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12476590/viewspace-504263/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/12476590/viewspace-504263/