我有一个 xml,它有带有 i:nil="true" 的节点。这意味着什么?
例如:
<FirstName i:nil="true" />
这是否意味着不同于:
<FirstName />
如果是这样,有什么区别?
这意味着 FirstName 为空
<FirstName i:nil="true" />
这意味着 FirstName = ""
<FirstName />
对 FirstName 所做的假设是字符串类型。
也许i:nil实际上意味着xsi:nil,这意味着FirstName元素是空的,即没有任何内容——甚至没有""。它指的是nillableXML Schema 中的属性。
nil 是一个属性,在i命名空间中定义。对于此 FirstName 节点,该属性的值为true。
与此类似,只是名称和值不同:
<form name="test">...
这里,form是节点的名称,类似于FirstName您的代码,并且name是一个值为“test”的属性,类似于您nil的值为“true”的属性。
这意味着什么取决于读取 xml 文档的应用程序。
如果我冒昧地猜测一下,我会说这看起来像是定义某种模式的 xml 文档的一部分,并且 FirstName 字段可以有 NULL 或nil值,表示为空或未知。