XmlConvert.EncodeName(String) Metodo

Definizione

Converte il nome in un nome XML valido.

public:
 static System::String ^ EncodeName(System::String ^ name);
public static string EncodeName(string name);
static member EncodeName : string -> string
Public Shared Function EncodeName (name As String) As String

Parametri

name
String

Nome da tradurre.

Valori restituiti

Nome con caratteri non validi sostituiti da una stringa di escape.

Esempio

Nell'esempio seguente viene codificato e decodificato i nomi.

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

Commenti

Questo metodo converte caratteri non validi, ad esempio spazi o katakana a metà larghezza, che devono essere mappati ai nomi XML senza il supporto o la presenza di schemi. I caratteri non validi vengono convertiti in codifiche di entità numeriche di escape.

Il carattere di escape è "_". Qualsiasi carattere di nome XML non conforme alla specifica XML 1.0 (quarta edizione) viene preceduto da un carattere di escape come _xHHHH_. La stringa HHHH è l'acronimo del codice UCS-2 a quattro cifre per il carattere nel primo ordine di bit più significativo. Ad esempio, il nome Dettagli ordine viene codificato come Order_x0020_Details.

Il carattere di sottolineatura non deve essere preceduto da un carattere di escape a meno che non sia seguito da una sequenza di caratteri che, insieme al carattere di sottolineatura, può essere interpretata erroneamente come sequenza di escape durante la decodifica del nome. Ad esempio, Order_Details non è codificato, ma Order_x0020_ viene codificato come Order_x005f_x0020_. Non sono consentite forme brevi. Ad esempio, i moduli _x20_ e __ non vengono generati.

Questo metodo garantisce che il nome sia valido in base alla specifica XML. Consente i due punti in qualsiasi posizione, il che significa che il nome potrebbe ancora non essere valido in base alla specifica dello spazio dei nomi W3C. Per garantire che sia un nome completo dello spazio dei nomi valido usato EncodeLocalName per il prefisso e le parti del nome locale e unire il risultato con due punti.

Si applica a

Vedi anche