使用不同语言(国际化)进行XML序列化的好方法是什么,以便将标记和属性序列化为使用不同语言的同一对象?
我在xml中保存配置,并希望支持xml的德语和英语。
我真的不知道这个问题的好方法是什么样的。
最佳解决方案是但不存在:
[XmlRoot("MyEnglishConfig,MeineDeuscheKonfiguration")]
public class Test
{
[XmlElement(ElementName="Setting1,Einstellung1")]
public String value1;
}
这样两个xml版本的解析都是正确的:
<MyEnglishConfig>
<Setting1>English value</Setting1>
<MyEnglishConfig>
<MeineDeuscheKonfiguration>
<Einstellung1>deutscher Wert</Einstellung1>
</MeineDeuscheKonfiguration>
答案 0 :(得分:2)
使用不同语言(国际化)进行XML序列化的好方法是什么,以便将标记和属性序列化为使用不同语言的同一对象?
不要!这根本不是一件好事,几乎没有图书馆可以帮助你做到这一点。通过各种方式本地化和国际化维护UI;但将xml保留在单一文化中。这只是要求极度痛苦。如果他们需要使用其他语言阅读标签,那么手动编辑xml文件的人可能不会介意。
如果您需要这样做,XmlAttributeOverrides
可用于制作每种语言的序列化程序,但是......就是这样。