System.Xml.XmlConvert 클래스
이 문서에서는 이 API에 대한 참조 설명서에 대한 추가 설명서를 제공합니다.
클래스 XmlConvert 는 기능적으로 클래스와 Convert 동일하지만 XML 표준을 지원합니다. 형식 시스템은 XSD(XML 스키마 정의 언어) 스키마 형식을 기반으로 하며 반환되는 값은 항상 로캘 독립적입니다.
인코딩 및 디코딩
요소 및 특성 이름 또는 ID 값은 W3C XML 1.0 권장 사항에 따라 XML 문자 범위로 제한됩니다. 이름에 잘못된 문자가 포함된 경우 이 클래스의 EncodeName 메서드 및 DecodeName 메서드를 사용하여 유효한 XML 이름으로 변환할 수 있습니다.
예를 들어 데이터베이스에서 열 제목 "Order Detail"를 사용하려면 데이터베이스에서 두 단어 사이의 공간을 허용합니다. 그러나 XML에서는 "Order"와 "Detail" 사이의 공백이 잘못된 XML 문자로 간주됩니다. 이스케이프된 16진수 인코딩으로 변환하고 나중에 디코딩해야 합니다.
이 메서드를 EncodeName 클래스와 함께 XmlWriter 사용하여 작성되는 이름이 유효한 XML 이름인지 확인할 수 있습니다. 다음 C# 코드는 이름 "Order Detail"를 유효한 XML 이름으로 변환하고 요소를 <Order_0x0020_Detail>My order</Order_0x0020_Detail>
씁니다.
writer.WriteElementString(XmlConvert.EncodeName("Order Detail"),"My order");
다음 XmlConvert 메서드는 인코딩 및 디코딩을 수행합니다.
메서드 | 설명 |
---|---|
EncodeName | 이름을 사용하고 이스케이프 문자열로 대체되는 잘못된 문자와 함께 인코딩된 이름을 반환합니다. 이 메서드는 모든 위치에서 콜론을 허용합니다. 즉, XML 1.0 권장 사항의 W3C 네임스페이스에 따라 이름이 여전히 유효하지 않을 수 있습니다. |
EncodeNmToken | 이름을 사용하고 인코딩된 이름을 반환합니다. |
EncodeLocalName | EncodeName 콜론 문자도 인코딩한다는 점을 제외하고 이름이 네임스페이스 정규화된 이름의 일부로 LocalName 사용될 수 있음을 보장합니다. |
DecodeName | 모든 인코딩 메서드에 대한 변환을 반대로 바뀝니다. |
이름 유효성 검사
클래스에는 XmlConvert 요소 또는 특성 이름의 문자를 검사 이름이 W3C XML 1.0 권장 사항에 의해 설정된 규칙을 준수하는지 확인하는 두 가지 메서드가 포함되어 있습니다.
- VerifyName문자를 검사 이름이 유효한지 확인합니다. 메서드는 유효한 경우 이름을 반환하고, 그렇지 않은 경우 예외를 throw합니다.
- VerifyNCName 는 동일한 유효성 검사를 수행하지만 정규화되지 않은 이름을 허용합니다.
토큰 XmlConvert , 공백 문자, 공용 ID 및 기타 문자열의 유효성을 검사하는 추가 메서드가 포함되어 있습니다.
데이터 형식 변환
XmlConvert 또한 문자열에서 강력한 형식의 데이터 형식으로 데이터를 변환할 수 있는 메서드를 제공합니다. 예를 들어 메서드는 ToDateTime 문자열을 해당하는 문자열로 DateTime 변환합니다. 클래스의 대부분의 메서드가 데이터를 문자열로 반환하기 XmlReader 때문에 유용합니다. 데이터를 읽은 후에는 사용되기 전에 적절한 데이터 형식으로 변환할 수 있습니다. ToString 오버로드는 강력한 형식의 데이터를 문자열로 변환하여 보완 작업을 제공합니다. 예를 들어 웹 페이지의 텍스트 상자에 데이터를 추가하려는 경우에 유용합니다. 로캘 설정은 데이터 변환 중에 고려되지 않습니다. 데이터 형식은 XSD(XML 스키마) 데이터 형식을 기반으로 합니다.
.NET