XML 解析器/反序列化器通常能够区分显式设置为 null 的 nillable 元素和遗漏的可选元素之间的区别吗?
假设我们有以下复杂类型:
<complexType name="NiceType">
<sequence>
<element name="niceElem" nillable="true" type="int" minOccurs="0" />
</sequence>
</complexType>
元素显式设置为 null(示例 1):
<niceType>
<niceElem xsi:nil="true"/>
</niceType>
省略的元素(示例 2):
<niceType>
</niceType>
一般的解析器,如 JAX-B 实现或 .NET 类似物,如 WCF 的 XML 模块,是否能够区分上面的示例 1 和示例 2?换句话说,您是否能够以一种可互操作的方式组合这两种 NULL 表示形式(如示例中所示)以传达 NULL 的不同阴影?