c#serialize to xml my own type as attribute

时间:2017-08-08 13:09:32

标签: c# xml

我有课程,类似这样:

Class1:
  List<Class2> A;
  string B;

Class2:
  Class3 A2;
  string B2;

Class3:
  string A3;
  string B3;

我想把它序列化为XML,它看起来像这样:

<Class1>
  <Class2 A3="x" B3="y" B2="z" />
  <Class2 A3="x2" B3="y2" B2="z2" />
  ...
  <B> abc </B>
</Class1>

当我在Class2字段中设置为XmlAttribute时,我得到unhandler异常System.InvalidOperationException
有办法做到这一点吗? 编辑:好的,我给出了更少的细节。我有问题如何序列化我自己的类型列表,看起来像。我可以将它序列化为xml,如:

<Class1>
  <A>
    <Class2 B2="x">
      <Class3 A3="x" B3="x"/>
    </Class2>
    <Class2 B2="x">
      <Class3 A3="x" B3="x"/>
    </Class2>
  </A>

但是我想将class3作为没有名称类3的属性(只有这个类中的字段)并且我不想列出,只列出的元素具有名称Class2。我不确定这是可以理解的......

1 个答案:

答案 0 :(得分:0)

你可以将A3和B3道具移动到Class2吗?

Class1:
 [XmlElement("Class2")]
 List<Class2> A;
 [XmlElement]
 string B;

Class2:
 [XmlAttribute]
 string A3;
 [XmlAttribute]
 string B3;
 [XmlAttribute]
 string B2;
相关问题