XmlConvert.EncodeName(String) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Преобразует имя в допустимое XML-имя.
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
Параметры
- name
- String
Имя для перевода.
Возвращаемое значение
Имя с недопустимыми символами, замененными escape-строкой.
Примеры
В следующем примере кодируются и декодируются имена.
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
Комментарии
Этот метод преобразует недопустимые символы, такие как пробелы или половинная ширина Катакана, которые должны быть сопоставлены с xml-именами без поддержки или присутствия схем. Недопустимые символы превратятся в кодировки числовых сущностей escape-символов.
Escape-символ — "_". Любой символ xml-имени, который не соответствует рекомендациям спецификации XML 1.0 (четвертый выпуск), экранируется как _xHHHH_. Строка HHH обозначает шестнадцатеричный шестнадцатеричный код UCS-2 для символа в самом значительном битовом порядке. Например, сведения о заказе имен кодируются как Order_x0020_Details.
Символ подчеркивания не требуется экранировать, если за ним не следует символьная последовательность, которая вместе с символом подчеркивания может быть неправильно интерпретирована как escape-последовательность при декодировании имени. Например, Order_Details не закодированы, но Order_x0020_ кодируется как Order_x005f_x0020_. Короткие формы не допускаются. Например, формы _x20_ и __ не создаются.
Этот метод гарантирует, что имя допустимо в соответствии со спецификацией XML. Он разрешает двоеточия в любой позиции, что означает, что имя по-прежнему может быть недопустимым в соответствии со спецификацией пространства имен W3C. Чтобы гарантировать, что это допустимое имя пространства имен, используемое EncodeLocalName для элементов префикса и локальных имен, и присоединение результата к двоеточию.