空元素 - 哪个更好

时间:2013-04-01 21:32:01

标签: xml

当创建一个XML文档,其中包含来自其他设备的信息中的多个元素,并且假设某些信息未被发送(来自SecFile ID信息),是否更好地接收此XML(a)元素不存在,或(b)空元素,或(c)插入元素或(d)插入属性xsi:nil =“true”?

实施例 所有信息

<FilmFile_ID>
<Film_ID>02</Film_ID>
<PriFile_ID>08</PriFile_ID>
<SecFile_ID>03</SecFile_ID>
</FilmFile_ID>

a)删除了SecFile_ID元素

<FilmFile_ID>
<Film_ID>02</Film_ID>
<PriFile_ID>08</PriFile_ID>
</FilmFile_ID>

b)SecFile_ID为空

<FilmFile_ID>
<Film_ID>02</Film_ID>
<PriFile_ID>08</PriFile_ID>
<SecFile_ID></SecFile_ID>
</FilmFile_ID>

c)插入

<FilmFile_ID>
<Film_ID>02</Film_ID>
<PriFile_ID>08</PriFile_ID>
<SecFile_ID><null/></SecFile_ID>
</FilmFile_ID>

d)xsi:nil =“true”inserted

<FilmFile_ID>
<Film_ID>02</Film_ID>
<PriFile_ID>08</PriFile_ID>
<SecFile_ID xsi:nil=”true”/>
</FilmFile_ID>'

2 个答案:

答案 0 :(得分:0)

嗯,没有“更好”的方式,但是,你仍然可以争辩说:

  • b)含糊不清,因为你无法真正知道它是否意味着不存在的值,而

  • c)在处理特殊数据类型时引入了不必要的复杂性,

  • d)表达与a)相同的含义,但有更多的冗长,因此

  • a)获胜

如果使用a),那么<SecFile></SecFile>应该被解释为“空”值(非空),如果应用程序(或模式)允许的话。

答案 1 :(得分:0)

通常,XML文化是您作为文档设计者可以选择用于特定语义的语法,或者换句话说,文档意味着您所说的意思。如果你需要区分不同类型的缺席值(例如“约翰没有中间名”,“我不知道约翰的中间名”),那么区别可能很重要,但在大多数情况下,你可以非常愉快地使用其中任何一个。使用空元素可以使使用XML的应用程序的生活更轻松。

相关问题