## java XML的使用**加粗样式**# Java & XML 2019/11/18 9:03:32 ----### XML *
可扩展 标记 语言.

特性:
1. 是一门独立的标记语言.
2. 具有平台无关性.
3. 具有自我描述性.

用途:
1. 网络数据的传输.
2. 数据存储.
3. 配置文件.### XML 语法格式 XML文档通常存储在.xml文件中.

语法结构:
1. 文档声明
<?xml version="1.0" encoding="UTF-8"?>

2. 标记 (元素 / 标签 / 节点)
XML文档,由一个个的标记组成.
语法:
开始标记:<标记名称>
结束标记:</标记名称>

标记名称: 标记名称是自定义的 , 命名规则参考Java 的标识符命名规则.
标记内容: 开始标记 与 结束标记之间 是标记的内容部分.

例如:
描述一个姓名:
<name>张三</name>

3. 标记之间可以嵌套 , 但是不允许交叉.
正例:
<person>
<name>小泽马老师</name>
<age>18</age>
</person>

反例:
<person>
<name><age>小泽马老师</name>
18</age>
</person>

4. 一个XML文档, 必须有 且 仅允许存在一个 根标记.
正例:
<persons>
<person>
<name>小泽马老师</name>
<age>18</age>
</person>
<person>
<name>小泽马老师</name>
<age>18</age>
</person>
</persons>
反例:
<person></person>
<person></person>

5. 标记的嵌套关系( 子标记 , 父标记 , 兄弟标记 , 后代标记 , 祖先标记 )

例如 :
<persons>
<person>
<name>小泽马老师</name>
<age>18</age>
</person>
<person>
<name>小泽马老师</name>
<age>18</age>
</person>
</persons>

在上述的案例中:
name是person的子标记
person是name的父标记
name和age是兄弟标记
name是persons和person的后代标记
persons 是name 的祖先标记

6. 标记名称允许重复.
7. 标记的属性.
标记中存在属性, 在开始标记位置, 编写属性列表.
格式:
属性由属性名和属性值组成. 
属性名与属性值之间使用等号连接, 属性值使用引号引住.
多个属性之间 ,使用空白符隔开.

例如:
<person id="1001" sex="不详">
<name>武藤马老师</name>
</person>

8. 注释:
注释开始: <!--
注释结束: -->
### 案例: 描述一组学生, 存储到一个students.xml文件中

<?xml version="1.0" encoding="UTF-8"?>
<students>
<student id="1001">
<name>小泽马</name>
<age>18</age>
</student>
<student id="1002">
<name>加藤马</name>
<age>19</age>
</student>
<student id="1003">
<name>仓井马</name>
<age>20</age>
</student>
</students>