Freigeben über


System.Xml.XmlConvert-Klasse

Dieser Artikel enthält ergänzende Hinweise zur Referenzdokumentation für diese API.

Die XmlConvert Klasse entspricht funktional der Convert Klasse, unterstützt aber XML-Standards. Das Typsystem basiert auf dem XSD-Schematyp (XML Schema Definition Language), und die zurückgegebenen Werte sind stets vom Gebietsschema unabhängig.

Codierung und Decodierung

Element- und Attributnamen oder ID-Werte sind entsprechend der W3C XML 1.0-Empfehlung auf einen Bereich von XML-Zeichen beschränkt. Wenn Namen ungültige Zeichen enthalten, können Sie die EncodeName- und DecodeName-Methoden in dieser Klasse verwenden, um sie in gültige XML-Namen zu übersetzen.

Wenn Sie beispielsweise die Spaltenüberschrift "Bestelldetails" in einer Datenbank verwenden möchten, ermöglicht die Datenbank den Abstand zwischen den beiden Wörtern. In XML gilt der Abstand zwischen "Order" und "Detail" jedoch als ungültiges XML-Zeichen. Sie müssen es in eine Hexadezimalcodierung mit Escapezeichen konvertieren und später decodieren.

Sie können die Methode mit der EncodeNameXmlWriter Klasse verwenden, um sicherzustellen, dass die geschriebenen Namen gültige XML-Namen sind. Der folgende C#-Code konvertiert den Namen "Order Detail" in einen gültigen XML-Namen und schreibt das Element <Order_0x0020_Detail>My order</Order_0x0020_Detail>.

writer.WriteElementString(XmlConvert.EncodeName("Order Detail"),"My order");

Die folgenden XmlConvert Methoden führen Codierung und Decodierung aus.

Methode BESCHREIBUNG
EncodeName Nimmt einen Namen und gibt den kodierten Namen zusammen mit allen ungültigen Zeichen zurück, die durch eine Escapezeichenfolge ersetzt werden. Diese Methode ermöglicht Doppelpunkte an einer beliebigen Position, was bedeutet, dass der Name nach der Empfehlung für W3C-Namespaces in XML 1.0 möglicherweise noch ungültig ist.
EncodeNmToken Nimmt einen Namen und gibt den kodierten Namen zurück.
EncodeLocalName Identisch mit EncodeName der Ausnahme, dass es auch das Doppelpunktzeichen codiert, wobei sichergestellt wird, dass der Name als LocalName Teil eines namespacequalifizierten Namens verwendet werden kann.
DecodeName Kehrt die Transformation für alle Codierungsmethoden um.

Namensüberprüfung

Die XmlConvert Klasse enthält zwei Methoden, die die Zeichen in einem Element- oder Attributnamen überprüfen und überprüfen, ob der Name den regeln entspricht, die von der W3C XML 1.0-Empfehlung festgelegt wurden:

  • VerifyName überprüft die Zeichen und überprüft, ob der Name gültig ist. Die Methode gibt den Namen zurück, wenn er gültig ist, und löst eine Ausnahme aus, wenn er nicht gültig ist.
  • VerifyNCName führt dieselbe Überprüfung aus, akzeptiert aber nicht qualifizierte Namen.

Die XmlConvert enthält zusätzliche Methoden, mit denen Token, Leerzeichen, öffentliche IDs und andere Zeichenfolgen überprüft werden.

Datentypkonvertierung

XmlConvert Stellt außerdem Methoden bereit, mit denen Sie Daten aus einer Zeichenfolge in einen stark typierten Datentyp konvertieren können. Die Methode ToDateTime konvertiert z. B. eine Zeichenfolge in das DateTime-Äquivalent. Dies ist nützlich, da die meisten Methoden in der XmlReader Klasse Daten als Zeichenfolge zurückgeben. Nachdem die Daten gelesen wurden, kann sie vor der Verwendung in den richtigen Datentyp konvertiert werden. Die ToString-Überladungen stellen den ergänzenden Vorgang bereit, indem stark typisierte Daten in Zeichenfolgen konvertiert werden. Dies ist beispielsweise hilfreich, wenn Sie die Daten textfeldern auf einer Webseite hinzufügen möchten. Lokaleinstellungen werden während der Datenkonvertierung nicht berücksichtigt. Die Datentypen basieren auf den XML-Schema-Datentypen (XSD).