定义
XML(EXtensible Markup Language)指可扩展标记语言,是一种标记语言,可以定义数据类型。XML 是 W3C 的推荐标准。
语法
1.文档说明
XML文件必须以xml声明开头,并且放在XML文档的第一行。声明如下所示:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
说明:
version 表示文档符合的版本规范 encoding 表示文档字符编码 standalong 表示文档定义是否独立使用。默认值为no代表不是独立使用,yes代表是独立使用。 2.元素
- 根元素
XML文档必须有且只有一个根元素。
- 普通元素
定义普通元素:<元素名>元素内容</元素名>
- 注意事项
元素对大小写敏感;所有的元素都必须关闭;所有的元素都必须正确的嵌套。元素命名规范如下:
1.名称可以含字母、数字以及其他的字符 2.名称不能以数字或者标点符号开始 3.名称不能以字符 “xml”(或者 XML、Xml)开始 4.名称不能包含空格 3.属性
如下所示:属性id其属性值为100。属性值用双引号(”)或单引号(’)分隔。一个元素可以有多个属性
<student id="100" type="str"> <name>Tom</name> </student>
4.注释
<!-- 这是一个注释 -->
XML树结构
如下所示:
<?xml version="1.0" encoding="UTF-8"?> <bookstore> <book id="1"> <title="en">Java语言</title> <author>Tom</author> <price>10.91</price> </book> <book id="2"> <title="en">C语言</title> <author>Jame</author> <price>130.11</price> </book> </bookstore>
- 根元素:<book>
- 子元素:<book>、<title>、<author>、<price>
- 同级元素(兄弟姐妹):<book>和<book>,<title>、<author>和<price>
XML常见应用
1.用于传输数据
2.用于做配置文件
3.充当小型的数据库
优点
- 格式统一,符合标准。
- 容易与其他系统进行交互,数据共享比较较方便。
- XML可读性、可拓展性都很出色,对数据的描述性好
缺点
- xml文件庞大,格式复杂,传输会占用更多宽带,传输慢。
- 解析xml需要花费大量代码和时间资源
XML解析
1.DOM解析
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();//获得解析工厂 DocumentBuilder db = dbf.newDocumentBuilder(); //获得建造者对象 File file = new File("xxx.xml");//获得XML文件 Document doc = db.parse(file);//获得文档对象 NodeList nl = doc.getElementsByTagName("xxx");//根据标签获得节点列表 Element element = (Element)nl.item(x);//获得特定位置的根节点元素节点对象 Node node = element.getElementsByTagName("xxx").item(0);//获得子节点 String msg = node.getFirstChild().getNodeValue();//获取子节点里面的第一个标签里面的值
2.SAX解析
参考:https://blog.csdn.net/gavin_john/article/details/51511180
https://www.w3school.com.cn/xml/xml_savedata.asp