Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. |
Übersetzung
Original
|
XmlReaderSettings.ValidationType-Eigenschaft
Ruft einen Wert fest, der angibt, ob der XmlReader beim Lesen eine Validierung oder Typzuweisung ausführt, oder legt diesen Wert fest.
Assembly: System.Xml (in System.Xml.dll)
Eigenschaftswert
Typ: System.Xml.ValidationTypeEiner der ValidationType-Werte. Der Standardwert ist ValidationType.None.
In der folgenden Tabelle werden die ValidationType-Werte beschrieben.
Hinweis
|
|---|
|
Der Auto-Enumerationswert und der XDR-Enumerationswert sind in .NET Framework, Version 2.0, veraltet. |
|
ValidationType |
Beschreibungen |
|---|---|
|
DTD |
Die Validierung wird mit einer Dokumenttypdefinition (DTD) ausgeführt. HinweisDie DtdProcessing-Eigenschaft muss auch auf Parse festgelegt werden. |
|
None |
Der XmlReader überprüft keine Daten und führt keine Typzuweisung aus. |
|
Schema |
Die Validierung und die Typzuweisung werden mit einem XSD-Schema (Schema Definition Language) ausgeführt. Der Reader greift auf das XML-Schema wie folgt zu:
|
Im folgenden Beispiel wird die Validierung mit einem im XmlSchemaSet gespeicherten Schema ausgeführt.
using System; using System.Xml; using System.Xml.Schema; using System.IO; public class Sample { public static void Main() { // Create the XmlSchemaSet class. XmlSchemaSet sc = new XmlSchemaSet(); // Add the schema to the collection. sc.Add("urn:bookstore-schema", "books.xsd"); // Set the validation settings. XmlReaderSettings settings = new XmlReaderSettings(); settings.ValidationType = ValidationType.Schema; settings.Schemas = sc; settings.ValidationEventHandler += new ValidationEventHandler (ValidationCallBack); // Create the XmlReader object. XmlReader reader = XmlReader.Create("booksSchemaFail.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); } }
Im Beispiel werden die folgenden Eingabedateien verwendet:
booksSchemaFail.xml
<?xml version='1.0'?>
<bookstore xmlns="urn:bookstore-schema">
<book>
<author>
<first-name>Benjamin</first-name>
<last-name>Franklin</last-name>
</author>
</book>
<book genre="novel">
<title>The Confidence Man</title>
<author>
<first-name>Herman</first-name>
<last-name>Melville</last-name>
</author>
<price>11.99</price>
</book>
<book genre="philosophy">
<title>The Gorgias</title>
<author>
<name>Plato</name>
</author>
<price>9.99</price>
</book>
</bookstore>
books.xsd
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="urn:bookstore-schema"
elementFormDefault="qualified"
targetNamespace="urn:bookstore-schema">
<xsd:element name="bookstore" type="bookstoreType"/>
<xsd:complexType name="bookstoreType">
<xsd:sequence maxOccurs="unbounded">
<xsd:element name="book" type="bookType"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="bookType">
<xsd:sequence>
<xsd:element name="title" type="xsd:string"/>
<xsd:element name="author" type="authorName"/>
<xsd:element name="price" type="xsd:decimal"/>
</xsd:sequence>
<xsd:attribute name="genre" type="xsd:string"/>
</xsd:complexType>
<xsd:complexType name="authorName">
<xsd:sequence>
<xsd:element name="first-name" type="xsd:string"/>
<xsd:element name="last-name" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
Windows 7, Windows Vista SP1 oder höher, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core wird nicht unterstützt), Windows Server 2008 R2 (Server Core wird mit SP1 oder höher unterstützt), Windows Server 2003 SP2
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Hinweis