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