我在.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)));
不是完全自动化的序列化,但是可以完成工作。
关于c# - 如何创建具有属性之外的属性的元素,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16023431/