XmlWriterSettings.ConformanceLevel XmlWriterSettings.ConformanceLevel XmlWriterSettings.ConformanceLevel XmlWriterSettings.ConformanceLevel Property

Definition

Ruft das Übereinstimmungsniveau ab, auf den der XML-Writer die XML-Ausgabe überprüft, oder legt dieses fest.Gets or sets the level of conformance that the XML writer checks the XML output for.

public:
 property System::Xml::ConformanceLevel ConformanceLevel { System::Xml::ConformanceLevel get(); void set(System::Xml::ConformanceLevel value); };
public System.Xml.ConformanceLevel ConformanceLevel { get; set; }
member this.ConformanceLevel : System.Xml.ConformanceLevel with get, set
Public Property ConformanceLevel As ConformanceLevel

Eigenschaftswert

Einer der Enumerationswerte, der das Übereinstimmungsniveau angibt (Dokument, Fragment oder automatische Erkennung).One of the enumeration values that specifies the level of conformance (document, fragment, or automatic detection). Die Standardeinstellung ist Document.The default is Document.

Beispiele

Im folgenden Beispiel wird ein XML-Fragment in einen Speicherstream geschrieben.The following example writes an XML fragment to a memory stream.

XmlWriterSettings settings = new XmlWriterSettings();
settings.OmitXmlDeclaration = true;
settings.ConformanceLevel = ConformanceLevel.Fragment;
settings.CloseOutput = false;

// Create the XmlWriter object and write some content.
MemoryStream strm = new MemoryStream();
XmlWriter writer = XmlWriter.Create(strm, settings);
writer.WriteElementString("orderID", "1-456-ab");
writer.WriteElementString("orderID", "2-36-00a");
writer.Flush();
writer.Close();

// Do additonal processing on the stream.
Dim settings As XmlWriterSettings = New XmlWriterSettings()
settings.OmitXmlDeclaration = true
settings.ConformanceLevel = ConformanceLevel.Fragment
settings.CloseOutput = false

' Create the XmlWriter object and write some content.
Dim strm as MemoryStream = new MemoryStream()
Dim writer As XmlWriter = XmlWriter.Create(strm, settings)
writer.WriteElementString("orderID", "1-456-ab")
writer.WriteElementString("orderID", "2-36-00a")
writer.Flush()
writer.Close()

' Do additonal processing on the stream.

Hinweise

Die XmlWriterSettings.ConformanceLevel -Eigenschaft konfiguriert den XML-Writer, um zu überprüfen und sicherzustellen, dass der geschriebene Stream einem bestimmten Satz von Regeln entspricht.The XmlWriterSettings.ConformanceLevel property configures the XML writer to check and guarantee that the stream being written complies with a certain set of rules. Die XML-Daten können geprüft werden, um festzustellen, dass Sie den Regeln für ein wohl geformtes XML 1,0-Dokument oder ein Dokument Fragment entspricht.The XML data can be checked to see that it conforms to the rules for a well-formed XML 1.0 document or a document fragment. In der folgenden Tabelle werden die drei Einstellungen beschrieben.The following table describes the three settings. Der Standardwert ist die Konformität auf Dokument Ebene.The default is document-level conformance.

EinstellungSetting BeschreibungDescription
Document Stellt sicher, dass die XML-Ausgabe den Regeln für ein wohl geformtes XML 1,0-Dokument entspricht und von jedem konformen Prozessor verarbeitet werden kann.Ensures that the XML output conforms to the rules for a well-formed XML 1.0 document and can be processed by any conforming processor.

Die Überprüfungen der Dokument Konformität umfassen den größten Teil der Überprüfungen auf Fragmentebene und stellen außerdem Folgendes sicher:The document conformance checks include most of the fragment-level checks and also ensure the following:

-Das Element der obersten Ebene hat keine anderen Knoten als XML-Deklaration, DTD, Element, Kommentar, Leerraum oder Verarbeitungsanweisung.- The top-level item doesn't have any nodes other than XML Declaration, DTD, element, comment, white space, or processing instruction.
-Die XML-Daten verfügen nur über einen und nur einen Elementknoten der obersten Ebene.- The XML data has one and only one top-level element node.

Der XML-Writer analysiert keine DTD-Informationen, die geschrieben werden.The XML writer doesn't parse DTD information that is written. Der Benutzer muss sicherstellen, dass die DTD wohl geformt ist.The user is responsible for ensuring that the DTD is well-formed.
Fragment Stellt sicher, dass die XML-Ausgabe den Regeln für ein wohl geformtes XML 1,0-Dokument Fragmententspricht.Ensures that the XML output conforms to the rules for a well-formed XML 1.0 document fragment.

Diese Einstellung akzeptiert XML-Daten, die über mehrere Stamm Elemente oder Textknoten auf der obersten Ebene verfügen.This setting accepts XML data that has multiple root elements or text nodes at the top level. Diese Ebene der Überprüfung stellt sicher, dass alle Prozessoren den als eine extern analysierte XML 1.0-Entität gelesenen Stream verwenden können.This level of checking ensures that any processor can consume the stream being read as an XML 1.0 external parsed entity.

In Dokument Fragmenten sind keine DTD-Informationen zulässig.DTD information isn't allowed in document fragments.
Auto Gibt an, dass der XML-Writer die Ebene der Übereinstimmungs Überprüfung basierend auf den eingehenden Daten bestimmen soll.Specifies that the XML writer should determine the level of conformance checking based on the incoming data. Diese Einstellung kann nützlich sein, wenn Sie nicht wissen, ob es sich bei dem generierten XML-Code um ein wohl geformtes XML-Dokument oder ein Fragment handelt.This setting can be useful when you don't know whether the generated XML will be a well-formed XML document or a fragment.

Die Übereinstimmungsprüfung für Dokumente wird in den folgenden Fällen angewendet:Document conformance checking is applied in the following cases:

-, Wenn WriteStartDocument die-Methode aufgerufen wird.- If the WriteStartDocument method is called.
-, Wenn DTD-Informationen geschrieben werden.- If DTD information is written.

Die Überprüfung der fragmentkonformität wird angewendet, wenn die XML-Daten eine der folgenden Angaben enthalten:Fragment conformance checking is applied if the XML data contains one of these:

-Text, CDATA oder EntityReference-Knoten auf Stamm Ebene.- Text, CDATA, or EntityReference node at the root level.
: Mehr als ein Element auf der Stamm Ebene.- More than one element at the root level.
-Kein Element auf der Stamm Ebene.- No element at the root level.

Wenn ein Konflikt auftritt, z. B., wenn Sie versuchen, einen Textknoten und eine DTD auf der Stammebene zu schreiben, wird eine XmlException ausgelöst.An XmlException is thrown if there is a conflict, such as when you try to write a text node and a DTD at the root level.

Wenn Sie ein anderes XmlWriter Objekt umwickeln, führt das äußere Objekt keine zusätzliche Übereinstimmungs Überprüfung durch. Dies wird dem zugrunde liegenden Objekt überlassen.If you are wrapping another XmlWriter object, the outer object doesn't do any additional conformance checking; this is left to the underlying object.

Wenn der XML-Writer Informationen erkennt, die gegen die angegebene Übereinstimmung verstoßen würden, löst er eine Ausnahme aus.If the XML writer detects any information that would violate the specified level of conformance, it throws an exception. In einigen Fällen korrigiert der XML-Writer den Konformitäts Fehler automatisch.In some cases, the XML writer automatically corrects the conformance error. Der Writer schließt z. b. ein nicht geschlossenes Attribut, ohne eine Ausnahme auszulösen.For example, the writer closes an unclosed attribute without throwing an exception. In der folgenden Tabelle wird gezeigt, wie verschiedene Konformitäts Verletzungen in den einzelnen Einstellungen behandelt werden.The following table shows how various conformance violations are handled in each setting.

BedingungCondition Document Fragment Auto
Es wurden DTD-Informationen gefunden.DTD information is found. Kein Verstoß gegen diese Einstellung.Not a violation for this setting. Der XML-Writer prüft die DTD jedoch nicht. der Benutzer muss sicherstellen, dass die DTD wohl geformt ist.However, the XML writer doesn't check the DTD; the user must ensure that the DTD is well-formed. XmlExceptionwird ausgelöst.XmlException is thrown. Die Überprüfung der Dokument Konformität wird angewendet.Document conformance checking is applied.
WriteStartDocument wird aufgerufen.WriteStartDocument is called. Dies gilt nicht als Verstoß gegen diese Einstellung.Not considered a violation for this setting. XmlExceptionwird ausgelöst.XmlException is thrown. Die Überprüfung der Dokument Konformität wird angewendet.Document conformance checking is applied.
WriteStartDocument wird mehrmals aufgerufen.WriteStartDocument is called multiple times. XmlExceptionwird ausgelöst.XmlException is thrown. XmlExceptionwird ausgelöst.XmlException is thrown. XmlExceptionwird ausgelöst.XmlException is thrown.
Ein Textwert wird auf der obersten Ebene angezeigt (nicht unterhalb eines Element-oder Attribut Knotens).A text value appears at the top level (not below an element or attribute node). XmlExceptionwird ausgelöst.XmlException is thrown. Dies gilt nicht als Verstoß.Not considered a violation. Die Konformitätsüberprüfung für Fragmente wird angewendet.Fragment conformance checking is applied.
Mehrere Elemente oder keine Elemente werden auf der obersten Ebene angezeigt.Multiple elements or no elements appear at the top level. XmlExceptionwird ausgelöst.XmlException is thrown. Dies gilt nicht als Verstoß.Not considered a violation. Die Konformitätsüberprüfung für Fragmente wird angewendet.Fragment conformance checking is applied.
Das Element der obersten Ebene ist Leerzeichen.Top-level item is white space. Dies gilt nicht als Verstoß.Not considered a violation. Dies gilt nicht als Verstoß.Not considered a violation. Dies gilt nicht als Verstoß.Not considered a violation.
WriteEndAttributewird nicht aufgerufen, um einen Attribut Knoten zu beenden.WriteEndAttribute isn't called to end an attribute node. Durch den XML-Writer korrigiert.Fixed by XML writer. Durch den XML-Writer korrigiert.Fixed by XML writer. Durch den XML-Writer korrigiert.Fixed by XML writer.
Der XML-Writer befindet sich in einem nicht ordnungsgemäß eingefügten Zustand (z WriteStartElement . b. gefolgt WriteEndAttributevon einem-Befehl).The XML writer is in an improperly nested state (for example, a WriteStartElement call is followed by a WriteEndAttribute). XmlExceptionwird ausgelöst.XmlException is thrown. XmlExceptionwird ausgelöst.XmlException is thrown. XmlExceptionwird ausgelöst.XmlException is thrown.
Das Element der obersten Ebene ist ein Attribut.Top-level item is an attribute. XmlExceptionwird ausgelöst.XmlException is thrown. XmlExceptionwird ausgelöst.XmlException is thrown. XmlExceptionwird ausgelöst.XmlException is thrown.
Es werden mehrere aneinandergrenzende Textknoten gefunden.Multiple, contiguous text nodes are found. Dies gilt nicht als Verstoß, aber es liegt in der Verantwortung des Benutzers, die Textknoten zu verketten.Not considered a violation, but it's the responsibility of the user to concatenate the text nodes. Dies gilt nicht als Verstoß, aber es liegt in der Verantwortung des Benutzers, die Textknoten zu verketten.Not considered a violation, but it's the responsibility of the user to concatenate the text nodes. Dies gilt nicht als Verstoß, aber es liegt in der Verantwortung des Benutzers, die Textknoten zu verketten.Not considered a violation, but it's the responsibility of the user to concatenate the text nodes.
In einem Element wird das gleiche Namespacepräfix zweimal deklariert.The same namespace prefix is declared twice in an element. Der XML-Writer generiert ein neues Präfix für den zweiten Namespace.The XML writer generates a new prefix for the second namespace. Der XML-Writer generiert ein neues Präfix für den zweiten Namespace.The XML writer generates a new prefix for the second namespace. Der XML-Writer generiert ein neues Präfix für den zweiten Namespace.The XML writer generates a new prefix for the second namespace.
WriteStartElementGibt ein Präfix und einen Namespace an, der in diesem Bereich nicht deklariert ist, oder das Präfix ist einem anderen Namespace zugeordnet.WriteStartElement specifies a prefix and a namespace that isn't declared within that scope, or the prefix is associated with a different namespace. Der XML-Writer schreibt den erforderlichen Namespace Knoten.The XML writer writes the necessary namespace node. Der XML-Writer schreibt den erforderlichen Namespace Knoten.The XML writer writes the necessary namespace node. Der XML-Writer schreibt den erforderlichen Namespace Knoten.The XML writer writes the necessary namespace node.
WriteStartAttributeGibt ein Präfix und einen Namespace an, der in diesem Bereich nicht deklariert ist.WriteStartAttribute specifies a prefix and a namespace that isn't declared within that scope. Der XML-Writer schreibt den erforderlichen Namespace Knoten.The XML writer writes the necessary namespace node. Der XML-Writer schreibt den erforderlichen Namespace Knoten.The XML writer writes the necessary namespace node. Der XML-Writer schreibt den erforderlichen Namespace Knoten.The XML writer writes the necessary namespace node.
WriteStartAttributeGibt ein Präfix und einen Namespace an, aber das Präfix ist einem anderen Namespace im Gültigkeitsbereich zugeordnet.WriteStartAttribute specifies a prefix and a namespace, but the prefix is associated with a different in-scope namespace. Der XML-Writer ignoriert das angegebene Präfix und sucht entweder nach dem richtigen Präfix oder generiert ein neues Präfix.The XML writer ignores the specified prefix and either looks up the correct prefix or generates a new prefix. Der XML-Writer ignoriert das angegebene Präfix und sucht entweder nach dem richtigen Präfix oder generiert ein neues Präfix.The XML writer ignores the specified prefix and either looks up the correct prefix or generates a new prefix. Der XML-Writer ignoriert das angegebene Präfix und sucht entweder nach dem richtigen Präfix oder generiert ein neues Präfix.The XML writer ignores the specified prefix and either looks up the correct prefix or generates a new prefix.
WriteQualifiedNamewird zum Schreiben von Element Inhalt mithilfe eines Namespaces verwendet, der nicht innerhalb des Bereichs vorhanden ist.WriteQualifiedName is used to write element content by using a namespace that doesn't exist within the scope. XmlExceptionwird ausgelöst.XmlException is thrown. XmlExceptionwird ausgelöst.XmlException is thrown. XmlExceptionwird ausgelöst.XmlException is thrown.
WriteQualifiedNamewird verwendet, um Attribut Inhalt mithilfe eines Namespaces zu schreiben, der nicht innerhalb des Bereichs vorhanden ist.WriteQualifiedName is used to write attribute content by using a namespace that doesn't exist within the scope. Der XML-Writer schreibt die erforderliche Namespace Deklaration.The XML writer writes the necessary namespace declaration. Der XML-Writer schreibt die erforderliche Namespace Deklaration.The XML writer writes the necessary namespace declaration. Der XML-Writer schreibt die erforderliche Namespace Deklaration.The XML writer writes the necessary namespace declaration.
Das xml:space Attribut enthält keinen gültigen Wert.The xml:space attribute doesn't contain a valid value. XmlExceptionwird ausgelöst.XmlException is thrown. XmlExceptionwird ausgelöst.XmlException is thrown. XmlExceptionwird ausgelöst.XmlException is thrown.
Es wurde ein ungültiger Name gefunden.An invalid name is encountered. XmlExceptionwird ausgelöst.XmlException is thrown. XmlExceptionwird ausgelöst.XmlException is thrown. XmlExceptionwird ausgelöst.XmlException is thrown.
Das xml Präfix stimmt nicht mit einem URI überein.The xml prefix isn't matched to a URI. Der XML-Writer prüft nicht, ob diese Art von Verstoß vorliegt.The XML writer doesn't check for this type of violation. Der XML-Writer prüft nicht, ob diese Art von Verstoß vorliegt.The XML writer doesn't check for this type of violation. Der XML-Writer prüft nicht, ob diese Art von Verstoß vorliegt.The XML writer doesn't check for this type of violation.
Das xml Präfix stimmt nicht mit http://www.w3.org/XML/1998/namespace dem URI überein.The xml prefix isn't matched to the http://www.w3.org/XML/1998/namespace URI. XmlExceptionwird ausgelöst.XmlException is thrown. XmlExceptionwird ausgelöst.XmlException is thrown. XmlExceptionwird ausgelöst.XmlException is thrown.
Der xmlns Präfix-oder lokale Name stimmt nicht mit einem URI überein.The xmlns prefix or local name isn't matched to a URI. Der XML-Writer prüft nicht, ob diese Art von Verstoß vorliegt.The XML writer doesn't check for this type of violation. Der XML-Writer prüft nicht, ob diese Art von Verstoß vorliegt.The XML writer doesn't check for this type of violation. Der XML-Writer prüft nicht, ob diese Art von Verstoß vorliegt.The XML writer doesn't check for this type of violation.
Der xmlns Präfix-oder lokale Name stimmt nicht http://www.w3.org/2000/xmlns mit dem URI überein.The xmlns prefix or local name isn't matched to the http://www.w3.org/2000/xmlns URI. XmlExceptionwird ausgelöst.XmlException is thrown. XmlExceptionwird ausgelöst.XmlException is thrown. XmlExceptionwird ausgelöst.XmlException is thrown.

Gilt für: