Klasse System.Xml.XmlConvert

Opmerking

In dit artikel vindt u aanvullende opmerkingen in de referentiedocumentatie voor deze API.

De XmlConvert klasse is functioneel gelijk aan de Convert klasse, maar ondersteunt XML-standaarden. Het typesysteem is gebaseerd op het XSD-schematype (XML Schema Definition Language) en de geretourneerde waarden zijn altijd onafhankelijk van landinstellingen.

Codering en decodering

Element- en kenmerknamen of id-waarden zijn beperkt tot een bereik van XML-tekens volgens de W3C XML 1.0-aanbeveling. Wanneer namen ongeldige tekens bevatten, kunt u de EncodeName en DecodeName methoden in deze klasse gebruiken om ze te vertalen in geldige XML-namen.

Als u bijvoorbeeld de kolomkop 'Orderdetails' in een database wilt gebruiken, staat de database de ruimte tussen de twee woorden toe. In XML wordt de ruimte tussen 'Volgorde' en 'Detail' echter beschouwd als een ongeldig XML-teken. U moet het omzetten naar een geƫscapete hexadecimale codering en het later decoderen.

U kunt de EncodeName methode met de XmlWriter klasse gebruiken om ervoor te zorgen dat de namen die worden geschreven geldige XML-namen zijn. Met de volgende C#-code wordt de naam Orderdetail geconverteerd naar een geldige XML-naam en wordt het element <Order_0x0020_Detail>My order</Order_0x0020_Detail>geschreven.

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

De volgende XmlConvert methoden voeren codering en decodering uit.

Methode Beschrijving
EncodeName Neemt een naam en retourneert de gecodeerde naam samen met een ongeldig teken dat wordt vervangen door een escape-tekenreeks. Met deze methode kunnen dubbele punten in elke positie voorkomen, wat betekent dat de naam mogelijk nog steeds ongeldig is volgens de W3C-aanbeveling 'Namespaces in XML 1.0'.
EncodeNmToken Neemt een naam en retourneert de gecodeerde naam.
EncodeLocalName Hetzelfde als EncodeName, behalve dat het ook het dubbele punt codeert, wat garandeert dat de naam kan worden gebruikt als LocalName deel van een gekwalificeerde naam van een naamruimte.
DecodeName Hiermee wordt de transformatie voor alle coderingsmethoden omgekeerd.

Naamvalidatie

De XmlConvert klasse bevat twee methoden die de tekens in een element- of kenmerknaam controleren en controleren of de naam voldoet aan de regels die zijn ingesteld door de aanbeveling W3C XML 1.0:

  • VerifyName controleert de tekens en controleert of de naam geldig is. De methode retourneert de naam als deze geldig is en genereert een uitzondering als dit niet het juiste is.
  • VerifyNCName voert dezelfde validatie uit, maar accepteert niet-gekwalificeerde namen.

De XmlConvert bevat aanvullende methoden waarmee tokens, spatietekens, openbare id's en andere tekenreeksen worden gevalideerd.

Conversie van gegevenstype

XmlConvert biedt ook methoden waarmee u gegevens van een tekenreeks kunt converteren naar een sterk getypt gegevenstype. Met de ToDateTime methode wordt bijvoorbeeld een tekenreeks geconverteerd naar het DateTime equivalent ervan. Dit is handig omdat de meeste methoden in de XmlReader klasse gegevens retourneren als een tekenreeks. Nadat de gegevens zijn gelezen, kunnen deze worden geconverteerd naar het juiste gegevenstype voordat ze worden gebruikt. De ToString overbelastingen bieden de complementaire bewerking door sterk getypte gegevens te converteren naar tekenreeksen. Dit is bijvoorbeeld handig wanneer u de gegevens wilt toevoegen aan tekstvakken op een webpagina. Er wordt geen rekening gehouden met landinstellingen tijdens de gegevensconversie. De gegevenstypen zijn gebaseerd op de XSD-gegevenstypen (XML Schema).