序列化后,我应该在代码中更改什么以获得这种XML格式
本文关键字:格式 XML 什么 我应该 代码 序列化 | 更新日期: 2023-09-27 18:25:41
这是我的类: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
在序列化之前,请研究自定义/配置XmlSerializer
。您很可能需要设置XmlAttributeOverrides,以将所需的属性设置为XmlText。
具体而言:
- http://msdn.microsoft.com/en-us/library/bfaxz1a0.aspx
- http://msdn.microsoft.com/en-us/library/system.xml.serialization.xmlattributes.aspx
- http://msdn.microsoft.com/en-us/library/system.xml.serialization.xmlattributes.xmltext.aspx