XmlConvert.EncodeName(String) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
名前を有効な 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
変換する名前。
返品
エスケープ文字列に置き換えられた無効な文字を含む名前。
例
次の例では、名前をエンコードしてデコードします。
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 名にマップする必要がある無効な文字 (スペースや半角カタカナなど) を変換します。 無効な文字は、エスケープされた数値エンティティ エンコードに変換されます。
エスケープ文字は "_" です。 XML 1.0 仕様 (第 4 エディション) の推奨事項に準拠していない XML 名文字は、_xHHHH_ としてエスケープされます。 HHHH 文字列は、最上位ビットの最初の順序で文字の 4 桁の 16 進数 UCS-2 コードを表します。 たとえば、Order Details という名前はOrder_x0020_Detailsとしてエンコードされます。
アンダースコア文字は、名前をデコードするときにアンダースコアと一緒に誤って解釈される可能性がある文字シーケンスが続かない限り、エスケープする必要はありません。 たとえば、Order_Detailsはエンコードされませんが、Order_x0020_はOrder_x005f_x0020_としてエンコードされます。 ショートフォームは使用できません。 たとえば、フォーム _x20_と __ は生成されません。
このメソッドは、XML 仕様に従って名前が有効であることを保証します。 任意の位置にコロンを使用できます。これは、 W3C 名前空間の仕様に従って名前が無効である可能性があることを意味します。 有効な名前空間修飾名であることを保証するには、プレフィックスとローカル名の部分に EncodeLocalName を使用し、結果をコロンで結合します。