[Serializable()]
public class A
{
[XmlArrayAttribute("Item")]
public List<B> items;
}
[Serializable()]
[XmlType(TypeName = "Item")]
public class B
{
}
Run Code Online (Sandbox Code Playgroud)
序列化后,我发现我有类似的东西
<Item>
<Item> **** </Item>
<Item> **** </Item>
*****
</item>
Run Code Online (Sandbox Code Playgroud)
但我只想要
<Item> **** </Item>
<Item> **** </Item>
Run Code Online (Sandbox Code Playgroud)
怎么弄?
public class A
{
[XmlElement("Item")]
public List<B> items;
}
public class B
{
}
Run Code Online (Sandbox Code Playgroud)
请注意,您不需要该[Serializable]属性.它仅用于二进制序列化并被XmlSerializer忽略,这是我怀疑你正在使用的,即使你的问题中已经明确说明了这一点.另外为了更好的封装,我建议你使用属性而不是字段.还有一句话:C#中的标准命名约定规定属性名称应以大写字母开头.