2008-09-17 6 views
2

일부 요소 값이 유니 코드 문자 인 xml이 있습니다. 이것을 ANSI 인코딩으로 표현할 수 있습니까?비 유니 코드 XML 표현

예.

<?xml version="1.0" encoding="utf-8"?> 
<xml> 
<value>受</value> 
</xml> 

<?xml version="1.0" encoding="Windows-1252"?> 
<xml> 
<value>&#27544;</value> 
</xml> 

에 내가 XML을 역 직렬화 한 다음 기본 인코딩 지정하여 XmlTextWriter 사용하여 직렬화 시도 (디폴트는 Windows-1252). 모든 유니 코드 문자는 물음표로 끝납니다. 나는 VS 2008, C# 3.5를 사용하고있다.

답변

5

좋아 나는 다음과 같은 코드로 테스트 내가 잘못 다른 곳에서 일을해야

<?xml version="1.0" encoding="Windows-1252"?><xml><value>&#x53D7;</value></xml> 

. 도와 주셔서 감사합니다.

4

내가 그 질문을 이해한다면, 그렇다.

<?xml version="1.0" encoding="Windows-1252"?> 
<xml> 
<value>&#27544;</value> 
</xml> 

또는 당신은 프로그램이 XML을 생성하는 방법을 궁금해 : 당신은 단지 ;27544 애프터해야합니까? 그렇다면 어떤 언어/환경에서 작업하고 있습니까?

string xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?><xml><value>受</value></xml>"; 

XmlWriterSettings settings = new XmlWriterSettings { Encoding = Encoding.Default }; 
MemoryStream ms = new MemoryStream(); 
using (XmlWriter writer = XmlTextWriter.Create(ms, settings)) 
     XElement.Parse(xml).WriteTo(writer); 

string value = Encoding.Default.GetString(ms.ToArray()); 

을 그리고 올바르게 따라서 유니 코드 문자를 탈출 :

+0

오타가 내 부분이었습니다. 예제를 수정했습니다. –

관련 문제