2009-07-25 58 views
1

我正在使用XmlTextWriter为我的程序保存某些配置元素(它只有10-15个字符串值,这就是为什么我使用XmlTextWriter)。我的代码如下:XmlTextWriter:允许Unicode?

XmlTextWriter writer = new XmlTextWriter("FILENAME.XML", null); 

writer.WriteStartElement("Config"); 
writer.WriteElementString("Param1", param1); 
writer.WriteElementString("Param2", param2); 
... 
writer.WriteEndElement(); 

writer.Close(); 

我想允许paramX值包含unicode。没有什么太花哨 - 这些值来自用户输入数据的文本框,我希望系统能够在全球范围内正常工作(中文,日文,希伯来文,阿拉伯文等)。我不解析数据,我只是想在下次程序加载时将其呈现出来。

达到此目的的方法是什么?

+0

仅供参考,你不应该使用'新的XmlTextReader()`或`新的XmlTextWriter()`。自.NET 2.0以来,它们已被弃用。改为使用`XmlReader.Create()`或`XmlWriter.Create()`。 – 2014-03-11 23:02:14

回答

2

构造的第二个参数是encoding。如果为空,则默认编码为UTF8。

+0

你的意思是说我的程序目前允许所有语言? – 2009-07-25 05:33:49

+0

是的! http://en.wikipedia.org/wiki/UTF-8#Advantages_3 – MyItchyChin 2009-07-25 05:52:50

1

嘛,有两个方面的位置:保存数据并显示它。 XML当然可以处理Unicode,并且XmlTextWriter也可以这样做。

你在使用到,虽然显示的数据?如果这是一个Windows窗体应用程序,则可能需要明确地将字体设置为可处理所需的所有Unicode的字体。绝对值得使用你感兴趣的所有字符集(希伯来语等)进行测试。