1

这是我的课程:Language.cs(完整评论,这就是我将其作为链接发布的原因)我需要更改的目标代码:

[Serializable]
public struct Text
{
    private string _Key;
    private string _Value;

    [XmlAttribute]
    public string Key
    {
        get { return _Key; }
        set { _Key = value; }
    }

    [XmlAttribute]
    public string Value
    {
        get { return _Value; }
        set { _Value = value; }
    }

    public Text(string key, string value)
    {
        _Key = key;
        _Value = value;
    }
}

目前,当我使用 Save() 方法时,我得到一个这样的 XML 文件:

<?xml version="1.0" encoding="utf-8"?>
<Language xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Name>LangName</Name>
  <Texts>
    <Text Key="Welcome" Value="Welcome {0}!" />
    <Text Key="YourAge" Value="Your age is {0} !" />
  </Texts>
</Language>

我正在寻找这样的文件

<?xml version="1.0" encoding="utf-8"?>
<Language xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Name>LangName<Name/>
  <Texts>
    <Text Key="Welcome">Welcome {0}!<Text/>
    <Text Key="YourAge">Your age is {0} !<Text/>
  </Texts>
</Language>

您知道保存后我应该在我的代码中更改什么以获得这种 XML 格式吗?

非常感谢 :D

4

1 回答 1

1

XmlSerializer在序列化之前查看自定义/配置。您很可能需要设置 XmlAttributeOverrides,将所需的属性设置为 XmlText。

具体来说:

于 2013-08-01T03:09:10.800 回答