目录
一.XML的语法
XML:是一个可扩展的标记语言。
a.文档声明,固定格式 :<?xml version="1.0" encoding="UTF-8"?>
b.元素:
* i.元素名是区分大小写的
* ii.元素名最好用数字+字母+"-",其他的分号,逗号,冒号最好别用
* iii.一个元素一般有 开始元素,元素体,结束元素组成,元素体可以是普通内存,可以是其他标签
* iV.如果一个元素没有元素体,可以写成如下格式: <标签名/>
* V.一个标准的XML文件,只有一个根标签
c.属性:
* i.属性的格式:
* 属性名="属性值"
* ii.属性的位置:
* 必须写在开始标签中
* iii.属性的个数
* 可以不写,可以多个,但是不能有重名的属性使用DTD约束编写XML
* ?: 表示该标签出现的次数 是0或者1,非贪婪匹配
* *: 表示该标签出现的次数 任意次
* +: 表示该标签出现的次数 >=1
* |: 表示多个标签选一个出现
* ,: 表示多个标签必须按照先后顺序出现补充正则表达式:
次数符号
* 0或多次 + 1或多次 ?0或1次 {n} 恰n次 {n,m} 从n到m次
其他符号
符号 等价形式
\d [0-9] \D [^0-9] \w [a-zA-Z_0-9] \W [^a-zA-Z_0-9] \s [\t\n\r\f] \S [^\t\n\r\f] . 任何字符
边界匹配器
行开头 ^行结尾 $单词边界 \b
模式和匹配器的典型调用次序
把正则表达式编译到模式中Pattern p = Pattern.compile("a*b");
创建给定输入与此模式的匹配器Matcher m = p.matcher("aaab");
尝试将整个区域与此模式匹配boolean b = m.matches();
二.Dom解析
Dom解析的原理:
* 将整个XML文件 加载到内存,为我们生成一个Document类型的对象ps:使用Dom4J的API解析XML文件
1.把整个要解析的XML文件加载到内存
* Dom4J提供了一个核心类,用来加载XML文件 SAXReader
2.会生产一个Documnet对象
* SAXReader中有一个方法
* public Document read(File/InputStream/Reader);
3.通过Document对象获取根标签
* public Element getRootElement();
4.用以下方法获取标签属性
* public String attributeValue("属性名")
5.获取根标签的子标签:得到是集合
* public List<Element> elements();//获取该标签的所有子标签
* public List<Element> elements(String name);//获取该标签的所有叫做name的子标签
* public Element element();//获取该标签的第一个子标签
* public Element element(String name);//获取该标签的第一个叫做name的子标签