2011-12-01 2 views
0

웹 서비스는 프랑스어 텍스트가 포함 된 xml 문자열을 반환합니다. 예를 들어,asp.net XML : xml 노드 읽기 및 인코딩 된 텍스트 표시

:

xmlResponse.LoadXml(resp); 
XmlNode Text = xmlResponse.SelectSingleNode("/res/Text"); 
sMessageText = Text.InnerText; 

텍스트는 다음과 같습니다 XML 노드를 인쇄 할 때 르 NOM 드 르 propritaire 드 요리 작은 동전 트레 엔터 넷 등 32 caractres

내가 그것을 어떻게 인코딩합니까? 읽을 수있는 텍스트를 표시하려면 어떻게해야합니까?

감사합니다

당신은 문자열을 사용하는 컨트롤의 CultureInfo를 설정해야 할 수도 있습니다
+1

[System.Text.Encoding] (http://msdn.microsoft.com/en-us/library/system.text.encoding%28v=VS.100%29.aspx)을 사용하여 텍스트를 사용하지만이 XML을 만들거나 다른 곳에서 소비하고 있습니까? XML에 올바른 인코딩이있는 경우 변환 할 필요가 없기 때문입니다. – thiagoleite

+0

xml 응답이 다른 시스템에서옵니다. 그냥 XML 응답을 다른 방법으로 캡처해야 할 수도 있습니다 ... 현재 LoadXml을 사용하고 있습니다. 문자열 resp = 웹 서비스 호출 중 ... xmlResponse.LoadXml (resp); – Ben

답변

0

, 내가 어떤 재산 모르겠어요하지만 당신은 내가 거기 생각하지 말아 CultureInfo("fr-FR");

0

에 할당한다 인코딩을로드하고 변환하는 XmlDocument 클래스의 상자에서 벗어난 메서드입니다. 다음을 시도 할 수 있습니다, 그 내가 System.Text.Encoding 당신에게, 설명서를 준 링크에서 :

당신은 당신이 사용하고있는 인코딩을 위해 그것을 변경해야
Encoding ascii = Encoding.ASCII; 
    Encoding unicode = Encoding.Unicode; 

    // Convert the string into a byte array. 
    byte[] unicodeBytes = unicode.GetBytes(unicodeString); 

    // Perform the conversion from one encoding to the other. 
    byte[] asciiBytes = Encoding.Convert(unicode, ascii, unicodeBytes); 

    // Convert the new byte[] into a char[] and then into a string. 
    char[] asciiChars = new char[ascii.GetCharCount(asciiBytes, 0, asciiBytes.Length)]; 
    ascii.GetChars(asciiBytes, 0, asciiBytes.Length, asciiChars, 0); 
    string asciiString = new string(asciiChars); 

. 또한 this question을 확인 하시려면 도움이 될만한 답이 많이 있습니다.