XmlConvert.EncodeName(String) Metoda

Definice

Převede název na platný název XML.

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

Parametry

name
String

Jméno, které se má přeložit.

Návraty

Název s neplatnými znaky nahrazený řídicím řetězcem.

Příklady

Následující příklad kóduje a dekóduje názvy.

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

Poznámky

Tato metoda překládá neplatné znaky, jako jsou mezery nebo katakana s poloviční šířkou, které je potřeba namapovat na názvy XML bez podpory nebo přítomnosti schémat. Neplatné znaky se překládají do kódování řídicích číselných entit.

Řídicí znak je _. Jakýkoli znak názvu XML, který nevyhovuje doporučení specifikace XML 1.0 (čtvrté edice), je uchvácený jako _xHHHH_. Řetězec HHHH představuje čtyřmístný šestnáctkový kód UCS-2 pro znak v nejvýznamnějším bitovém pořadí. Například název Podrobnosti objednávky je kódován jako Order_x0020_Details.

Znak podtržítka nemusí být uchvácený, pokud za ním následuje sekvence znaků, která spolu s podtržítkem může být při dekódování názvu chybně interpretována jako řídicí sekvence. Například Order_Details není kódovaný, ale Order_x0020_ je kódován jako Order_x005f_x0020_. Nejsou povoleny žádné krátké tvary. Například formuláře _x20_ a __ se negenerují.

Tato metoda zaručuje, že název je platný podle specifikace XML. Umožňuje dvojtečky v libovolné pozici, což znamená, že název může být stále neplatný podle specifikace oboru názvů W3C. Chcete-li zaručit, že se jedná o platný název oboru názvů, který se používá EncodeLocalName pro části předpony a místního názvu, a spojte výsledek s dvojtečku.

Platí pro

Viz také