以不同标记结尾的xml格式元素

时间:2018-04-12 14:02:21

标签: xml

在下面的xml文件中,元素“book”及其子元素“bookid”与元素“toc-entry”不同:“book”和“bookid”以<book>和{{1}开头分别以<bookid></book>结尾,而“toc-entry”元素以</bookid>开头,以<toc-entry/>结尾,具体取决于是他们有没有孩子。

我的问题是:为什么会有这样的差异?

>

2 个答案:

答案 0 :(得分:2)

在XML中,必须打开每个元素,然后关闭它们。元素包含其开始标记与结束标记之间的所有内容。

要实现这一点,有三种元素标记标记:

  • 打开标签没有/,例如<book>
  • 结束标记以</开头,例如</book>
  • 自我结束标记以<开头,以/>结尾,例如<entry name="stuff"/>

打开标签和结束标签,如其名称所示,打开和关闭元素。

自闭标签是一种速记,可以同时进行。在XML语法中,它们100%等同于打开标记并在之后立即关闭它,因此编写<entry name="stuff"/><entry name="stuff"></entry>完全相同

答案 1 :(得分:1)

就像你在问题中所暗示的那样,区别在于有些元素有孩子,有些则没有(他们是空的)。

空元素可以以/>或结束标记('</' Name S? '>')结尾。

/>结尾的空元素有时被称为自闭合。

<toc-entry title="some title" page="1"/>

与以下内容相同:

<toc-entry title="some title" page="1"></toc-entry>

来自the spec

  

空元素标签可用于任何没有内容的元素,无论是否使用关键字EMPTY声明它。对于互操作性,应该使用empty-element标记,并且只应该对于声明为EMPTY的元素使用。