用多个 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#的主要内容,如果未能解决你的问题,请参考以下文章