XmlDocument Constructor ()
.NET Framework (current version)
Initializes a new instance of the XmlDocument class.
Assembly: System.Xml (in System.Xml.dll)
The following is an example of load-time validation. A document type definition (DTD) validating XmlReader is passed to the Load method and a ValidationEventHandler is provided to notify users of any validation errors. In this example a validation error is found, but the document is still loaded. Alternatively, you can define a validating XmlReader to throw an exception and stop the load process when a validation error is found by not specifying the ValidationEventHandler. For more information about validating XML data, see the Remarks section of the XmlReader reference page.
using System; using System.Xml; using System.Xml.Schema; namespace Microsoft.Samples.Xml { sealed class XmlDocumentSample { private XmlDocumentSample() { } static XmlReader reader; static String filename = "bookdtd.xml"; public static void Main() { ValidationEventHandler eventHandler = new ValidationEventHandler(XmlDocumentSample.ValidationCallback); try { // Create the validating reader and specify DTD validation. XmlReaderSettings settings = new XmlReaderSettings(); settings.DtdProcessing = DtdProcessing.Parse; settings.ValidationType = ValidationType.DTD; settings.ValidationEventHandler += eventHandler; reader = XmlReader.Create(filename, settings); // Pass the validating reader to the XML document. // Validation fails due to an undefined attribute, but the // data is still loaded into the document. XmlDocument doc = new XmlDocument(); doc.Load(reader); Console.WriteLine(doc.OuterXml); } finally { if (reader != null) reader.Close(); } } // Display the validation error. private static void ValidationCallback(object sender, ValidationEventArgs args) { Console.WriteLine("Validation error loading: {0}", filename); Console.WriteLine(args.Message); } } }
The example uses the bookDTD.xml file as input.
<!DOCTYPE bookstore [ <!ELEMENT bookstore (book)*> <!ELEMENT book (title,author,price)> <!ATTLIST book genre CDATA #REQUIRED> <!ELEMENT title (#PCDATA)> <!ELEMENT author (#PCDATA)> <!ELEMENT price (#PCDATA)>]> <bookstore> <book genre="fantasy" ISBN="2-3631-4"> <title>Oberon's Legacy</title> <author>Corets, Eva</author> <price>5.95</price> </book> </bookstore>
Universal Windows Platform
Available since 10
.NET Framework
Available since 1.1
Available since 10
.NET Framework
Available since 1.1
Show: