小编kaa*_*len的帖子

如何在没有包装元素的情况下对多态数组进行XML序列化

想要将我的数据序列化为:

<?xml version="1.0" encoding="ibm850"?>
<Batch Name="Test batch">
   <ExecuteCommand Command="..." />
   <WaitCommand Seconds="5" />
</Batch>
Run Code Online (Sandbox Code Playgroud)

但相反,我得到这个(注意包装命令元素)

<?xml version="1.0" encoding="ibm850"?>
<Batch Name="Test batch">
  <Commands><!-- I want to get rid of thiw wrapper Commands element and just  -->
    <ExecuteCommand Command="..." />
    <WaitCommand Seconds="5" />
  </Commands>
</Batch>
Run Code Online (Sandbox Code Playgroud)

以下是用于生成此代码的示例代码:

public class BaseCommand //base class
{
    [XmlAttribute]
    public string Result { get; set; }
}

public class ExecuteCommand : BaseCommand
{
    [XmlAttribute]
    public string Command { get; set; }
}

public class WaitCommand : BaseCommand
{ …
Run Code Online (Sandbox Code Playgroud)

.net c# xml xml-serialization

7
推荐指数
1
解决办法
1592
查看次数

标签 统计

.net ×1

c# ×1

xml ×1

xml-serialization ×1