XmlConvert.EncodeName(String) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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 se všemi neplatnými znaky nahrazený řídicím řetězcem.
Příklady
Následující příklad kóduje a dekóduje názvy.
#using <System.dll>
#using <System.XML.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml;
int main()
{
// Encode and decode a name with spaces.
String^ name1 = XmlConvert::EncodeName( "Order Detail" );
Console::WriteLine( "Encoded name: {0}", name1 );
Console::WriteLine( "Decoded name: {0}", XmlConvert::DecodeName( name1 ) );
// Encode and decode a local name.
String^ name2 = XmlConvert::EncodeLocalName( "a:book" );
Console::WriteLine( "Encoded local name: {0}", name2 );
Console::WriteLine( "Decoded local name: {0}", XmlConvert::DecodeName( name2 ) );
}
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ý neodpovídá doporučení specifikace XML 1.0 (čtvrtá edice), je řídicí znak jako _xHHHHH_. Řetězec HHHH představuje čtyřciferný š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 Podrobnosti objednávky_x0020_Podrobnosti objednávky.
Znak podtržítka nemusí být řídicí, pokud není následovaný posloupností znaků, která spolu s podtržítkem může být při dekódování názvu nesprávně interpretována jako řídicí sekvence. Například Podrobnosti objednávky_nejsou kódovány, ale order_x0020_ je kódován jako Order_x005f_x0020_. Nejsou povoleny žádné krátké tvary. Například formuláře _x20_ a __ nevygenerují se.
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 předponu a místní části názvů, a spojte výsledek s dvojtečku.