asp.net XML:读取xml节点并显示编码文本

时间:2011-12-01 16:47:29

标签: c# asp.net xml

Web服务返回包含法语文本的xml字符串。打印xml节点时

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

文字如下:

  

e.g。 Le nom delepropri tairedecartedoit treentre4 et 32   caractres

我如何编码?如何显示可读文本。

谢谢

2 个答案:

答案 0 :(得分:0)

您可能必须设置要使用字符串的控件的cultureinfo,我不确定哪个属性,但您应该将其分配给CultureInfo("fr-FR");

答案 1 :(得分: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,它有许多可能对您有帮助的答案。