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 bir kaçış dizesiyle değiştirdiği ad.
Örnekler
Aşağıdaki örnek adları kodlar ve kodunu çözer.
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, şemaların desteği veya varlığı olmadan XML adlarına eşlenmesi gereken boşluklar veya yarım genişlikli Katakana gibi geçersiz karakterleri çevirir. Geçersiz karakterler kaçış sayısal varlık kodlamalarına çevrilir.
Kaçış karakteri "_" şeklindedir. XML 1.0 belirtimi (dördüncü sürüm) önerisine uymayan tüm XML ad karakterlerinin kaçışı _xHHHH_. SSS dizesi, karakter için en önemli bit birinci sırada dört basamaklı onaltılık UCS-2 kodunun kısaltmasıdır. Örneğin, Sipariş Ayrıntıları adı Order_x0020_Details olarak kodlanır.
Alt çizgi karakteri, alt çizgiyle birlikte adın kodunu çözdüğünüzde kaçış dizisi olarak yanlış yorumlanabilen bir karakter dizisi tarafından izlenmediği sürece kaçış karakterine gerek yoktur. Örneğin, Order_Details kodlanmaz, ancak Order_x0020_ Order_x005f_x0020_ olarak kodlanır. Kısa formlara izin verilmez. Örneğin, _x20_ ve __ 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 izin verir, yani ad W3C Ad Alanı Belirtimine göre hala geçersiz olabilir. 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.