C# 如何使用属性的属性创建元素
我正在.net中使用xml的序列化。我有一个叫做tier的属性:C# 如何使用属性的属性创建元素,c#,.net,xml-serialization,C#,.net,Xml Serialization,我正在.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> //其中,值是层属性的值 使用该属性可以使用哪些
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>
不是完全自动化的序列化,但它完成了任务。我认为使用序列化属性无法实现这一点。您的对象还有其他属性吗?这些属性也应该作为
设置元素?@programmer93包装属性tier=“2”
@lazyberezovsky我想这就是他想要的??看看XmlAttributeAttribute。是的,我的“installfile”对象有其他属性,但这些都不会进入我正在尝试创建的设置元素。我正在考虑一些重组。我没有使用简单的字符串属性,而是考虑将其包装在一个“设置”类中,该类中有两个成员……“名称”和“值”,然后将[xmlattribute]应用于这些成员,[xmlelement]应用于实际的类。对这种方法有什么想法吗?
<foo tier="2"/>
var setting = new Setting { tier = "2" };
var xml = new XElement("settings", new XElement("setting",
new XAttribute("tier", setting.tier)));