c# - 如何从属性中创建具有属性的元素

标签 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>

哪些 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/

相关文章:

.net - .NET 中的 ActiveMQ 连接启动超时

c# - NHibernate Expression.Like 两个字段的条件

c# - 如何在 C# 中对字符串使用 StringComparison?

asp.net - Oracle 存储过程基准测试

c - 如何检查两个RDF图是否具有相同的内容?

c# - 反序列化具有唯一属性的重复 XML 元素

java - 使用 List 成员序列化对象

c# - 将字节数组转换为 16 位 float

c# - 在 WPF 中的两个窗口之间切换

.net - 儒略日期形式的系统日期?