XML元素
XML元素指的就是每个节点,其中元素可以包含其他元素、文本或者两者的混合物。元素也可以拥有属性。下面通过代码举例
<student></student>
这就是一个元素
<student>我是一个学生</student>
这个元素中含有文本
<students>
<student></student>
</students>
students元素中含有student元素
<student id="001"></student>
元素中含有属性(属性在下面介绍)
<students>
<student id="001">
<name>绘梨衣</name>
<age>20</age>
<gender>女</gender>
</student>
<student id="002">
<name>北原伊织</name>
<age>19</age>
<gender>男</gender>
</student>
</students>
这就是一个常见的xml的结构,元素可以包含其他元素、文本或者两者的混合物。元素也可以拥有属性。
XML元素的命名规则
- 名称可以含字母、数字以及其他的字符
- 名称不能以数字或者标点符号开始
- 名称不能以字符 “xml”(或者 XML、Xml)开始
- 名称不能包含空格
在XML中没有保留关键字,可以使用任何符号规范的名称
XML属性
xml于html类似,都拥有属性,在xml中,属性都是自定义的,例如:
<student id="001">我是一个学生</student>
在这个xml中,我们给student定义了一个id属性,并给了001这个值,属性通常用于提供有关元素的额外信息。
注意:在xml中属性值必须加引号(单引号和双引号都行),不然会报错
当属性值中含义双引号时,我们可以使用单引号来对属性值进行包围,例如:
<student id='你真"可爱"'></student>
或者使用实体引用
<student id='你真"可爱"'></student>
当属性值中出现单引号时使用双引号包围即可,与上面类似
元素vs属性
以下2个xml表示相同信息
<student id="001">
<name>绘梨衣</name>
<age>20</age>
<gender>女</gender>
</student>
<student id='002' name="绘梨衣" age="20" gender="女">
</student>
很明显,第一个更加易于阅读。
使用属性容易一些问题,如下:
- 属性无法包含多重的值(元素可以)
- 属性无法描述树结构(元素可以)
- 属性不易扩展(为未来的变化)
- 属性难以阅读和维护
我们尽量少的使用属性,一般用属性来表示与数据无关的值