【发布时间】:2012-02-02 14:03:31
【问题描述】:
我可以使用 [XmlIgnore] 来避免写入元素,但是如何根据变量的内容来控制呢?
例如,我不想在值为 null 时编写 XML 元素。
[XmlRootAttribute("Component", IsNullable = true)]
public class Component {
[XmlArrayAttribute("worlds_wola", IsNullable = true)]
public List<Hello> worlds;
public int? a = null;
public int? b = null;
public Component()
{
worlds = new List<Hello>() {new Hello(), new Hello()};
}
}
但是,我得到了这个 XML。
<worlds_wola>
...
</worlds_wola>
<a xsi:nil="true" />
<b xsi:nil="true" />
有没有办法不获取没有任何值的元素,例如“<a/>”或“<b/>”?
【问题讨论】:
-
那么你想要什么 XML?
-
@Austin :我想要一个没有
<a/>和<b/>的 XML,因为它们没有分配任何值。
标签: c# xml xml-serialization