
上QQ阅读APP看书,第一时间看更新
4.2 XML语法规则
XML文件与记事本文件不一样,如果不按规则书写XML,那么得到的文件就是不合法的或者形式不良好的文件。
4.2.1 标签必须正确关闭
这里提到的标签,一般指元素节点的开始标签、结束标签。例如下面的语句来描述个人信息。
<person name="kitty" age="25">
这个元素节点只有开始标签,没有正确关闭,有如下两种修改方法。
<person name="kitty" age="25"/>
或者
<person name="kitty" age="25"></person>
4.2.2 严格区分大小写
开始标签与结束标签必须是相同的内容。

上面的根元素<staff>与结束标签中的单词不对应,因此不是一个合法的XML。
4.2.3 必须有根元素
一个XML文件有且只有一个根元素(DocumentElement),该元素节点是整个文档的最顶层,这个根元素可以有很多子节点,但是不能有兄弟元素。
例如图4-1中的<Country>就是整个文档的根元素。
4.2.4 父子元素必须正确嵌套
作为一个父节点,其开始标记应位于所有子节点之前,结束标记应位于所有子节点之后。

以上是一个正确的父子节点嵌套,下面是错误的嵌套方式。

4.2.5 属性值必须加引号
属性值与文本内容节点不同,属性值必须加引号。

以上XML中的age属性值未加引号,因此不合法。应改为:age="25"。