我可以使用[XmlIgnore]爲了不寫入元素,但是如何根據變量的內容來控制它呢?如何不寫基於XmlSerializer的值的元素?
例如,當值爲空時,我不想寫入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? – 2012-01-04 17:05:30
@Austin:我想要一個沒有''和''的XML,因爲它們沒有賦值。 – prosseek 2012-01-04 17:07:55
[Serialize an nullable int]可能的重複(http://stackoverflow.com/questions/244953/serialize-a-nullable-int) – 2012-01-04 17:10:59