XmlConvert.EncodeName(String) XmlConvert.EncodeName(String) XmlConvert.EncodeName(String) XmlConvert.EncodeName(String) Method


名前を有効な XML 名に変換します。Converts the name to a valid XML name.

 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


String String String String

変換する対象の名前。A name to be translated.


無効な文字をエスケープ文字列で置換した名前。The name with any invalid characters replaced by an escape string.

次の例では、エンコードし、名前をデコードします。The following example encodes and decodes names.

#using <System.dll>
#using <System.XML.dll>

using namespace System;
using namespace System::IO;
using namespace System::Xml;
int main()
   // Encode and decode a name with spaces.
   String^ name1 = XmlConvert::EncodeName( "Order Detail" );
   Console::WriteLine( "Encoded name: {0}", name1 );
   Console::WriteLine( "Decoded name: {0}", XmlConvert::DecodeName( name1 ) );
   // Encode and decode a local name.
   String^ name2 = XmlConvert::EncodeLocalName( "a:book" );
   Console::WriteLine( "Encoded local name: {0}", name2 );
   Console::WriteLine( "Decoded local name: {0}", XmlConvert::DecodeName( name2 ) );

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
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 名にマップする必要があるなどの無効な文字を変換します。This method translates invalid characters, such as spaces or half-width Katakana, that need to be mapped to XML names without the support or presence of schemas. 無効な文字がエスケープ数値エンティティ エンコードに変換されます。The invalid characters are translated into escaped numeric entity encodings.

エスケープ文字"_"。The escape character is "_". 準拠していない任意の XML 文字、 XML 1.0 (fourth edition) の仕様の推奨事項としてエスケープされます_xHHHH_します。Any XML name character that does not conform to the XML 1.0 spec (fourth edition) recommendation is escaped as _xHHHH_. HHHH 文字列は、最上位ビットから順に文字の 4 桁の 16 進 ucs-2 コードを表します。The HHHH string stands for the four-digit hexadecimal UCS-2 code for the character in most significant bit first order. たとえば、名、注文の詳細を順序としてエンコード_x0020_詳細。For example, the name Order Details is encoded as Order_x0020_Details.

アンダースコア文字は、名前のデコード時にエスケープ シーケンスとして解釈される可能性のある文字の並びが後に続いていない限り、エスケープする必要はありません。The underscore character does not need to be escaped unless it is followed by a character sequence that together with the underscore can be misinterpreted as an escape sequence when decoding the name. たとえば、注文_の詳細はエンコードされませんが、注文_x0020_順序としてエンコードされます_x005f_x0020_します。For example, Order_Details is not encoded, but Order_x0020_ is encoded as Order_x005f_x0020_. 短縮形は許可されません。No shortforms are allowed. たとえば、フォーム_x20_と__は生成されません。For example, the forms _x20_ and __ are not generated.

このメソッドは、名前は、XML 仕様に従った有効なを保証します。This method guarantees the name is valid according to the XML specification. これにより、名前がいる可能性が意味するに従って無効である任意の場所にコロン、 W3C Namespace 仕様します。It allows colons in any position, which means the name may still be invalid according to the W3C Namespace Specification. 有効な名前空間を保証するために修飾名の使用EncodeLocalNameのプレフィックスとローカル部分の名前を指定し、後に結果を結合します。To guarantee it is a valid namespace qualified name use EncodeLocalName for the prefix and local name parts and join the result with a colon.