在XML中,空元素和省略元素之间有什么区别?

时间:2019-02-26 22:10:57

标签: xml soap xmlhttprequest

我正在使用SOAP服务,并且想知道发送带有自闭标签或省略标签的HTTP请求是否会有所不同。

示例: 可以说我有一堂课-

Class MyElement
{
    type propx = "1"
    type propy = null
}

哪种XML最好创建?

xml,省略了元素:

<MyElement>
    <propx>1</propx>
</MyElement>
具有自动关闭/空标签的

xml

<MyElement>
    <propx>1</propx>
    <propy/>
</MyElement>

1 个答案:

答案 0 :(得分:1)

这两个文档在XML级别上是不同的,但是与XML中的其他所有内容一样,差异的语义也取决于发送者和接收者之间的协议。在某些情况下,空元素和缺席元素可能是指示“不适用”的替代方式,但在其他情况下,它们可能具有不同的含义。例如,在XHTML中,空<hr/>元素和不存在的hr元素之间显然有区别。

在家谱应用程序中,您可能会使用

<children>
  <child>John</child>
  <child/>
  <child>Mary</child>
  <child>Elizabeth</child>
</children>

表示已知第二个孩子存在,但其名字未知。