XmlConvert.EncodeName(String) Metódus
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
A nevet érvényes XML-névvé alakítja.
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
Paraméterek
- name
- String
Lefordítandó név.
Válaszok
Az érvénytelen karaktereket tartalmazó név helyébe egy feloldó sztring lép.
Példák
Az alábbi példa kódolja és dekódolja a neveket.
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
Megjegyzések
Ez a metódus érvénytelen karaktereket, például szóközöket vagy félszélességű Katakanát fordít le, amelyeket xml-nevekre kell leképezni a sémák támogatása vagy jelenléte nélkül. Az érvénytelen karaktereket a rendszer feloldott numerikus entitáskódolásokra fordítja le.
A feloldó karakter a "_". Minden olyan XML-név karakter, amely nem felel meg az XML 1.0 specifikációra (negyedik kiadás) vonatkozó javaslatnak , _xHHHH_-ként van megadva. A HHHH sztring a karakter négyjegyű hexadecimális UCS-2 kódját jelöli, amely a legfontosabb bit elsőrendű. A Rendelés részletei nevet például a Order_x0020_Details kódolja.
Az aláhúzásjelet csak akkor kell feloldani, ha egy olyan karaktersorozat követi, amelyet az aláhúzásjellel együtt a név dekódolásakor el lehet tévesen értelmezni. A Order_Details például nincs kódolva, de Order_x0020_ Order_x005f_x0020_. Rövid formázás nem engedélyezett. A _x20_ és a __ űrlapok például nem jönnek létre.
Ez a módszer garantálja, hogy a név az XML-specifikációnak megfelelően érvényes. Lehetővé teszi a kettőspontokat bármilyen pozícióban, ami azt jelenti, hogy a név továbbra is érvénytelen lehet a W3C névtér specifikációja szerint. Annak biztosítása érdekében, hogy érvényes névtér-minősített név legyen az előtag és a helyi névrészek esetében EncodeLocalName , és az eredményt kettősponttal összekapcsolja.