使用希腊语编写标签时加载XML文件不起作用,为什么?

时间:2012-03-27 18:19:49

标签: c# xml unicode encoding utf-8

当我使用英文标签加载XML文件时,一切正常但是当我尝试加载带有用希腊语编写的标签的XML文件时,没有任何作用,为什么会发生这种情况?
我是否必须在代码中的某处更改编码?
这是我使用的代码:

 XmlDocument xdoc = new XmlDocument();
 xdoc.Load(filename);
 XmlNode root = xdoc.DocumentElement;
 if (root.HasChildNodes)
        {
            for (int i = 0; i < root.ChildNodes.Count; i++)
            {
                richTextBox1.AppendText(root.ChildNodes[i].InnerXml + "\n");
            }
        }

2 个答案:

答案 0 :(得分:2)

我下载了您的文件并成功反序列化/显示。

public class ΦΑΡΜΑΚΑ
{
    public string A;
    public string ΦΑΡΜ_ΑΓΩΓΗ;
    public string ΧΟΡΗΓΗΣΗ;
    public string ΛΗΞΗΣ;
    public string ΑMKA;
}

XmlSerializer xml = new XmlSerializer(typeof(ΦΑΡΜΑΚΑ[]),new XmlRootAttribute("dataroot"));

ΦΑΡΜΑΚΑ[] array = (ΦΑΡΜΑΚΑ[])xml.Deserialize(File.Open(@"D:\Downloads\bio3.xml", FileMode.Open));

richTextBox1.Text = String.Join(Environment.NewLine, array.Select(x => x.ΦΑΡΜ_ΑΓΩΓΗ));

答案 1 :(得分:1)

确保您的富文本框的多行属性设置为true。默认值为true,但您可以更改它。此外,而不是\ n使用Environment.NewLine。

另外.InnerText将为您提供没有标签的值。 InnerXml也为您提供了标记。