다음을 통해 공유


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 스키마) 데이터 형식을 기반으로 합니다.