C# Xml序列化和不同语言(国际化)

C# Xml序列化和不同语言(国际化),c#,xml,serialization,internationalization,C#,Xml,Serialization,Internationalization,用不同的语言进行XML序列化(国际化),以便用不同的语言将标记和属性序列化到同一个对象,有什么好的解决方案 我用xml保存配置,并希望支持xml的德语和英语 我真的不知道解决这个问题的好方法是什么样子的 最好的解决方案是但不存在: [XmlRoot("MyEnglishConfig,MeineDeuscheKonfiguration")] public class Test { [XmlElement(ElementName="Setting1,Einstellung1")] p

用不同的语言进行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>

英语价值
德国韦特
用不同的语言进行XML序列化(国际化),以便用不同的语言将标记和属性序列化到同一个对象,有什么好的解决方案

不要!这根本不是一件好事,实际上没有任何库可以帮助您做到这一点。通过各种方式将维护UI本地化和国际化;但是将xml放在一个区域性中。这只是要求极度痛苦。手动编辑xml文件的这类人可能不会介意他们是否需要阅读其他语言的标记


如果您需要这样做,可以用来制作每语言序列化程序,但是。。。yeuch.

XML序列化程序必须是区域性不变的。你有没有试过解析德语,看看会发生什么?你是说你想让标记和属性使用两种语言中的一种,即可以说(忽略我的德语语法!)?你是否计划/需要允许语言混合,即在一份英文文件中包含德语部分?我想你不明白我的问题,尤瓦尔。我更新了问题。一种选择是你把(比如)英语看作是主语言,并通过Xsl/LinqToXml/whatever-done-post/pre(反序列化)完成翻译。Ie允许.Net设置使用单一语言,并在保存/加载配置的位置周围放置一个包装器。这对你来说是可行的方法吗?如果是,有什么困难?Arhh任何“字段”复杂类型,即您依赖于嵌入式复杂类型?