我是什么:nil =“true”是什么意思?

我是什么:nil =“true”是什么意思?

问题描述:

我有一个xml,它的节点中有i:nil =“true”。那是什么意思?我是什么:nil =“true”是什么意思?

例如:

<FirstName i:nil="true" /> 

这是否意味着东西比不同:

<FirstName /> 

如果是这样,有什么区别?

这意味着姓是空

<FirstName i:nil="true" /> 

这意味着姓= “”

<FirstName /> 

假设上姓制成是字符串类型。

+0

同意。我以前见过这个。 +1 – 2009-01-21 00:24:11

+4

根据哪个标准?如果姓是“”,该文件将是,这是不一样(前者不规范化到后者。) – 2009-01-21 11:58:07

nil是一个属性,在i命名空间中定义。对于此名字节点,该属性的值为true

它类似于此,只是以不同的名称和值:

<form name="test">... 

这里,form是节点的名称,类似于FirstName从您的代码,并name是一个值的属性“测试“,类似于您的属性nil,其值为”true“。

这意味着什么取决于读取xml文档的应用程序。

如果我冒险猜测,我会说这看起来像定义某种模式的XML文档的一部分,并且FirstName字段可以具有NULL或nil值,表示空或未知。

也许i:nil实际上意味着xsi:nil,这意味着FirstName元素是空的,即没有任何内容 - 甚至""。它引用XML Schema中的nillable属性。

可能是您的DTO和您的模型类不匹配,并且DTO返回名称为null,因为它无法映射模型类中的某个属性