XmlConvert.EncodeName(String) Methode

Definitie

Converteert de naam naar een geldige XML-naam.

public:
 static System::String ^ EncodeName(System::String ^ name);
public static string EncodeName(string name);
public static string? EncodeName(string? name);
static member EncodeName : string -> string
Public Shared Function EncodeName (name As String) As String

Parameters

name
String

Een naam die moet worden vertaald.

Retouren

De naam met ongeldige tekens die worden vervangen door een escape-tekenreeks.

Voorbeelden

In het volgende voorbeeld worden namen gecodeerd en ontsleuteld.

using System;
using System.IO;
using System.Xml;

public class Sample
{

  public static void Main()
  {

     // Encode and decode a name with spaces.
     string name1 = XmlConvert.EncodeName("Order Detail");
     Console.WriteLine("Encoded name: " + name1);
     Console.WriteLine("Decoded name: " + XmlConvert.DecodeName(name1));

     // Encode and decode a local name.
     string name2 = XmlConvert.EncodeLocalName("a:book");
     Console.WriteLine("Encoded local name: " + name2);
     Console.WriteLine("Decoded local name: " + XmlConvert.DecodeName(name2));
  }
}
Imports System.IO
Imports System.Xml

public class Sample

  public shared sub Main()

     ' Encode and decode a name with spaces.
     Dim name1 as string = XmlConvert.EncodeName("Order Detail")
     Console.WriteLine("Encoded name: " + name1)
     Console.WriteLine("Decoded name: " + XmlConvert.DecodeName(name1))

     ' Encode and decode a local name.
     Dim name2 as string= XmlConvert.EncodeLocalName("a:book")
     Console.WriteLine("Encoded local name: " + name2)
     Console.WriteLine("Decoded local name: " + XmlConvert.DecodeName(name2))

  end sub
end class

Opmerkingen

Deze methode vertaalt ongeldige tekens, zoals spaties of Katakana met halve breedte, die moeten worden toegewezen aan XML-namen zonder de ondersteuning of aanwezigheid van schema's. De ongeldige tekens worden omgezet in escape-numerieke entiteitscoderingen.

Het escapeteken is '_'. Elk XML-naamteken dat niet voldoet aan de aanbeveling xml 1.0-specificatie (vierde editie) wordt ontsnapt als _xHHHH_. De HHHH-tekenreeks staat voor de hexadecimale UCS-2-code van vier cijfers voor het teken in de meest significante bit eerste volgorde. De naam Ordergegevens wordt bijvoorbeeld gecodeerd als Order_x0020_Details.

Het onderstrepingsteken hoeft niet te worden ontsnapt, tenzij het wordt gevolgd door een tekenreeks die samen met het onderstrepingsteken verkeerd kan worden geïnterpreteerd als een escape-reeks bij het decoderen van de naam. Order_Details is bijvoorbeeld niet gecodeerd, maar Order_x0020_ wordt gecodeerd als Order_x005f_x0020_. Er zijn geen korte vormen toegestaan. De formulieren _x20_ en __ worden bijvoorbeeld niet gegenereerd.

Deze methode garandeert dat de naam geldig is volgens de XML-specificatie. Het staat dubbele punten in elke positie toe, wat betekent dat de naam mogelijk nog steeds ongeldig is volgens de W3C-naamruimtespecificatie. Om te garanderen dat het een geldige gekwalificeerde naamruimte EncodeLocalName is voor het voorvoegsel en de lokale naamonderdelen en het resultaat samenvoegen met een dubbele punt.

Van toepassing op

Zie ook