用多个 XML 标签包装而不创建不同的类 C#
Posted
技术标签:
【中文标题】用多个 XML 标签包装而不创建不同的类 C#【英文标题】:Wrap with multiple XML tags without create diferent classes C# 【发布时间】:2020-12-30 08:45:57 【问题描述】:我有课
public class TestModel
public int Number get; set;
public string Text get; set;
用下面的xml转换成
<TestModel>
<Number>2</Number>
<Text>text</Text>
</TestModel>
但我需要用多个 xml 标签包装它
<Wrapper1>
<Wrapper2>
<TestModel>
<Number>2</Number>
<Text>text</Text>
</TestModel>
</Wrapper2>
</Wrapper1>
是否有任何属性可以放置这种类型的包装器?喜欢
[XElementWrapper("Wrapper1", "Wrapper2")]
public class TestModel
..
我不想创建虚拟类只是为了包含包装器或通过代码创建 xml 元素
【问题讨论】:
借助 .NET 中可用的所有其他 Xml 工具,您可以轻松地将序列化结果包装到根节点中,例如:XmlWriter,甚至可以使用 Xslt 转换您的 Xml... 没有。您不能使用属性创建其他标签。 【参考方案1】:是的,你可以通过实现IXmlSerializable来实现
【讨论】:
以上是关于用多个 XML 标签包装而不创建不同的类 C#的主要内容,如果未能解决你的问题,请参考以下文章
为具有不同名称和不同@class 属性值的多个元素创建一个包装器元素