XML语法
3.1 标签
语法:开始标签 结束标签
<student> </student>
3.2 属性
语法:<student name = "eric“></student>
注意:(1)属性值必须以引号包含,不能省略,也不能单双混用;
(2)一个标签内可以有多个属性,但不能出现重复的属性名
3.3 文档声明
语法:<?xml version="1.0" encoding="UTF-8"?>
3.4 转义字符
在xml文件中内置了一些特殊字符,这些特殊字符不能直接被浏览器原样输出。如果希望把这些特殊字符按照原样输出到浏览器,对这些特殊字符进行转义,转义之后的字符就叫转义字节。
特殊字符 | 转义字符 |
---|---|
< | < |
> | > |
" | " |
& | & |
3.5 CDATA块
作用:可以让一些需要进行包含特殊字符的内容统一进行原样输出。
3.7 处理指令
作用:告诉xml解析如何解析文档
案例:<?xml-stylesheet type = "text/css" href="1.css"?>
3.8 解析工具
DOM解析原理:
1)JAXP(官方)
2)JDOM工具
3)DOM4j工具(非官方)
三大框架(默认读取xml的工具就是Dom4j)
SAX解析:
1)SAX解析工具(Oracle-Sun公司官方)
Dom4j工具
使用步骤:
1)导入dom4j的核心包。dom4j-1.6.1.jar
2)编写Dom4j读取xml文件代码
Dom4j读取xml文件
节点:
Iterator:Element.nodeIterator();//获取当前标签节点下的所有子节点
标签:
Element Document.getRootElement();//获取xml文档的根标签
获取标签
public void Test3(){
//1.**读取xml文档,返回document对象**
SAXReader reader = new SAXReader();
Document doc = reader.read(new File("./src/com"))
2.得到根标签
Element rootElem = doc.getRootElement();
//得到标签名称
String name = rootElem.getName();
system.out.println(name);
//3.得到当前标签下的一个子标签
Element contactElem = rootElem.element(“contact”);
//4.获取所有直接子元素对象集合
List elementList = root.elements();
}
获取属性
String Element.attributeValue("属性名") //获取指定名称的属性值
Attribute Element.attribute("属性名")//获取指定名称的属性对象
attribute.getName()//获取属性名称
attribute.getValue()//获取属性值
List<Attribute> element.attributes();//获取所有属性对象
Iterator<Attribute> Element.attributeIterator();//获取所有属性对象
获取文本
Element.getText(); //获取当前标签的文本
Element.elementText("标签名")//获取当前标签的指定名称的子标签的文本内容
注意:空格和换行也是xml的内容