6

オブジェクトを XML にシリアライズしています。私はこのようなものを持っています:

Class A
{
   public string propertyA1  { get; set; }
   public List<B> bList { get; set; }
}

Class B
{
   public string num {get; set;}
   public string propertyB1  { get; set; }
}

それを XML にシリアル化すると、次のようになります。

<A>
  <propertyA1>someVal</propertyA1> 
  <B num=1>
     <propertyB1>someVal</propertyB1> 
  </B>
  <B num=2>
     <propertyB1>someVal</propertyB1> 
  </B>
</A>

しかし、代わりに次のようになります。

<A>
  <propertyA1>someVal</propertyA1> 
  <bList>
     <B num=1>
        <propertyB1>someVal</propertyB1> 
     </B>
     <B num=2>
        <propertyB1>someVal</propertyB1> 
     </B>
  </bList>
</A>

出力でbListを取り除く方法はありますか? 必要に応じて、さらにサンプル コードを提供できます

ありがとう、スコット

4

2 に答える 2

16

[XmlElement]コレクションを要素のフラット リストとして扱う属性を追加します。

Class A
{
   public string propertyA1  { get; set; }
   [XmlElement("B")]
   public List<B> bList { get; set; }
}

詳細については、ここをクリックしてください

于 2012-07-31T01:37:41.880 に答える
2

また、XmlArrayItemAttribute を試すこともできます。以下のリンクを参照してください。

http://msdn.microsoft.com/en-us/library/system.xml.serialization.xmlarrayitemattribute.aspx

http://msdn.microsoft.com/en-us/library/2baksw0z(v=vs.71).aspx

于 2012-07-31T05:03:41.950 に答える