我在.net 中使用xml 的序列化。我有一个名为 tier 的属性:
public string tier { get; set; }
当对象被序列化时,我想要获得的最终结果是:
<settings>
//Where the value is the value of the tier property
<setting name="tier" value="2" />
</settings>
使用该属性可以使用哪些 xml 序列化属性来完成此操作?
我在.net 中使用xml 的序列化。我有一个名为 tier 的属性:
public string tier { get; set; }
当对象被序列化时,我想要获得的最终结果是:
<settings>
//Where the value is the value of the tier property
<setting name="tier" value="2" />
</settings>
使用该属性可以使用哪些 xml 序列化属性来完成此操作?
简单来说,XmlSerializer
不直接支持这种场景。它可以处理:
<foo><tier>2</tier></foo>
或者
<foo tier="2"/>
但不是你想要的,除非你把模型扭曲得很厉害。
是否可以使用 LINQ-to-XML?
var setting = new Setting { tier = "2" };
var xml = new XElement("settings", new XElement("setting",
new XAttribute("tier", setting.tier)));
不是完全自动化的序列化,但它完成了工作。