XmlSerializer - 返回“p2:nill”而不是xsi:nill的字符串返回的对象

时间:2014-11-27 09:45:46

标签: c# xmlserializer xsi

序列化后,反对字符串

我正在获取当前的xml

  <obj>
    ...
    <field p2:nil="true" xmlns:p2="http://www.w3.org/2001/XMLSchema-instance"/>
    ...
  </obj>

该字段可以为空,所以我在等待 xsi:nill , 相反,我得到 p2:nill 为什么?

1 个答案:

答案 0 :(得分:0)

构建XmlSerializer时,如果不应用随机(ish)名称,则可以控制名称空间。试着看看这样的事情是否有帮助

var ns = new XmlSerializerNamespaces();
ns.Add("xsi", "http://www.w3.org/2001/XMLSchema-instance");

var ser = new XmlSerializer(typeof(AnEntity));
ser.Serialize(Console.Out, new AnEntity(), ns);