XML 요소 및 특성 이름과 ID 값 인코딩 및 디코딩
업데이트: November 2007
요소 및 특성 이름이나 ID 값의 범위는 www.w3.org/TR/2000/REC-xml-20001006.html에 나와 있는 W3C(World Wide Web 컨소시엄) XML(Extensible Markup Language) 1.0(Second Edition) 권장 사항에 따라 XML 문자로 제한됩니다. 이름에 잘못된 문자가 들어 있는 경우, 인코딩 및 디코딩 메서드를 사용하여 해당 이름을 유효한 XML 이름으로 변환합니다.
Microsoft SQL Server 및 Microsoft Office Word 등 여러 언어 및 응용 프로그램에서는 XML 이름에 사용할 수 없는 유니코드 문자를 해당 이름에 사용할 수 있습니다. 예를 들어, 데이터베이스의 열 머리글이 Order Detail이었다면 데이터베이스에서는 Order와 Detail 사이에 공백을 사용할 수 있지만, XML에서는 이 공백이 잘못된 XML 문자로 간주됩니다. 따라서 잘못된 문자인 공백은 이스케이프된 16진수 인코딩으로 변환해야 나중에 디코딩할 수 있습니다.
XmlTextWriter 클래스는 기본적으로 문자 검사를 수행하지 않습니다. 예를 들어, WriteElementString("Order Detail", "My order"); 코드에서는 <Order Detail>My order</Order Detail>.이라는 잘못된 요소를 만듭니다.
요소 값을 인코딩하기 위한 올바른 인코딩은 writer.WriteElementString(XmlConvert.EncodeName("Order Detail"), "My order")이며, 이 인코딩에서는 <Order_0x0020_Detail>My order</Order_0x0020_Detail>이라는 유효한 요소를 만듭니다.