Bahasa

XmlConvert.EncodeName(String) Metode

Definisi

Mengonversi nama menjadi nama XML yang valid.

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

Parameter

name
String

Nama yang akan diterjemahkan.

Mengembalikan

Nama dengan karakter yang tidak valid digantikan oleh string escape.

Contoh

Contoh berikut mengodekan dan mendekode nama.

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

Keterangan

Metode ini menerjemahkan karakter yang tidak valid, seperti spasi atau Katakana lebar setengah, yang perlu dipetakan ke nama XML tanpa dukungan atau kehadiran skema. Karakter yang tidak valid diterjemahkan ke dalam pengodean entitas numerik yang lolos.

Karakter escape adalah "_". Setiap karakter nama XML yang tidak sesuai dengan rekomendasi spesifikasi XML 1.0 (edisi keempat) diloloskan sebagai _xHHHH_. String HHHH adalah singkatan dari kode UCS-2 heksadesimal empat digit untuk karakter dalam urutan pertama bit yang paling signifikan. Misalnya, nama Detail Pesanan dikodekan sebagai Order_x0020_Details.

Karakter garis bawah tidak perlu diloloskan kecuali diikuti oleh urutan karakter yang bersama dengan garis bawah dapat disalahartikan sebagai urutan escape saat mendekode nama. Misalnya, Order_Details tidak dikodekan, tetapi Order_x0020_ dikodekan sebagai Order_x005f_x0020_. Tidak ada bentuk pendek yang diperbolehkan. Misalnya, formulir _x20_ dan __ tidak dihasilkan.

Metode ini menjamin nama valid sesuai dengan spesifikasi XML. Ini memungkinkan titik dua dalam posisi apa pun, yang berarti nama mungkin masih tidak valid sesuai dengan Spesifikasi Namespace W3C. Untuk menjaminnya adalah nama namespace yang valid yang memenuhi syarat, gunakan EncodeLocalName untuk awalan dan bagian nama lokal dan gabungkan hasilnya dengan titik dua.

Berlaku untuk

Lihat juga