在下面的xml文件中,元素“book”及其子元素“bookid”与元素“toc-entry”不同:“book”和“bookid”以<book>
和{{1}开头分别以<bookid>
和</book>
结尾,而“toc-entry”元素以</bookid>
开头,以<toc-entry
或/>
结尾,具体取决于是他们有没有孩子。
我的问题是:为什么会有这样的差异?
>
答案 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的元素使用。