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

本文关键字:nill 对象 字符串 xsi 返回 p2 XmlSerializer | 更新日期: 2023-09-27 18:32:16

序列化后,反对字符串

我正在获取当前的 xml

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

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

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

在构建 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);