XmlConvert.EncodeName(String) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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
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.