Aracılığıyla paylaş


XmlConvert.EncodeName(String) Yöntem

Tanım

Adı geçerli bir XML adına dönüştürür.

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

Parametreler

name
String

Çevrilecek bir ad.

Döndürülenler

String

Geçersiz karakterlerin yerine kaçış dizesi koyan ad.

Örnekler

Aşağıdaki örnek adları kodlar ve kodunu çözer.

#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

Açıklamalar

Bu yöntem, şema desteği veya varlığı olmadan XML adlarına eşlenmesi gereken boşluklar veya yarım genişlikte Katakana gibi geçersiz karakterleri çevirir. Geçersiz karakterler kaçış sayısal varlık kodlamalarına çevrilir.

Çıkış karakteri "_"dir. XML 1.0 belirtimi (dördüncü sürüm) önerisine uymayan herhangi bir XML adı karakteri, xHHHH_ olarak _kaçılır. HHHH dizesi, en önemli bit birinci sırada karakterin dört basamaklı onaltılık UCS-2 kodunu ifade ediyor. Örneğin, Sipariş Ayrıntıları adı Sipariş_x0020_Ayrıntıları olarak kodlanmıştır.

Alt çizgi karakteri, adın kodunu çözdüğünüzde alt çizgiyle birlikte bir kaçış dizisi olarak yanlış yorumlanabilen bir karakter dizisi tarafından izlenmediği sürece kaçış karakterine gerek yoktur. Örneğin, Sipariş_Ayrıntıları kodlanmaz ancak Order_x0020_ , Order_x005f_x0020_ olarak kodlanır. Kısa formlara izin verilmez. Örneğin, x20_ __ formları _oluşturulmaz.

Bu yöntem, adın XML belirtimine göre geçerli olmasını garanti eder. Herhangi bir konumda iki nokta üst üste işaretine izin verir; bu da adın W3C Ad Alanı Belirtimine göre hala geçersiz olabileceği anlamına gelir. Bunun geçerli bir ad alanı nitelenmiş adı olduğundan emin olmak için ön ek ve yerel ad bölümleri için kullanın EncodeLocalName ve sonucu iki nokta üst üste ile birleştirin.

Şunlara uygulanır

Ayrıca bkz.