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.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.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 사양(네 번째 버전) 권장 사항을 준수하지 않는 XML 이름 문자는 xHHHH_로 _이스케이프됩니다. HHHH 문자열은 가장 중요한 비트 첫 번째 순서의 문자에 대한 4자리 16진수 UCS-2 코드를 의미합니다. 예를 들어 이름 주문 세부 정보는 주문_x0020_세부 정보로 인코딩됩니다.
밑줄 문자 뒤에 밑줄과 함께 이름을 디코딩할 때 이스케이프 시퀀스로 잘못 해석될 수 있는 문자 시퀀스가 없으면 밑줄 문자를 이스케이프할 필요가 없습니다. 예를 들어 주문_세부 정보는 인코딩되지 않지만 Order_x0020_ 은 Order_x005f_x0020_으로 인코딩됩니다. 단락은 허용되지 않습니다. 예를 들어 x20_ 형식_은 __ 생성되지 않습니다.
이 메서드는 이름이 XML 사양에 따라 유효한지 확인합니다. 모든 위치에서 콜론을 허용하므로 W3C 네임스페이스 사양에 따라 이름이 여전히 유효하지 않을 수 있습니다. 접두사 및 로컬 이름 부분에 유효한 네임스페이스 정규화된 이름 사용 EncodeLocalName 임을 보장하기 위해 결과를 콜론과 조인합니다.