Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen.
Übersetzung
Original
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

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.

Namespace:  System.Xml
Assembly:  System.Xml (in System.Xml.dll)
public ValidationType ValidationType { get; set; }

Eigenschaftswert

Typ: System.Xml.ValidationType
Einer der ValidationType-Werte. Der Standardwert ist ValidationType.None.

In der folgenden Tabelle werden die ValidationType-Werte beschrieben.

Hinweis 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.

HinweisHinweis
Die 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:

  • Er verwendet die Schemas-Eigenschaft, um auf das XmlSchemaSet-Objekt zuzugreifen, das dem Reader zugeordnet ist.

  • Er verwendet das im XML-Instanzendokument enthaltene Inlineschema. (Die ProcessInlineSchema-Option muss aktiviert werden.)

  • Er verwendet das durch Schemaspeicherorthinweise (xsi:schemaLocation-Attribut oder xsi:noNamespaceSchemaLocation-Attribut) im XML-Instanzendokument angegebene XML-Schema. (Die ProcessSchemaLocation-Option muss aktiviert werden.)

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>


.NET Framework

Unterstützt in: 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

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.
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)
Community-Inhalt Hinzufügen
Anmerkungen FAQ