概念
1.xml是一种可扩展的标记语言。
2.标记语言:是一种通过标签来描述数据的一门语言。
3.可扩展:标签的名字可以自己定义。
4.可以说xml文件是由标签组成,而标签是可以自定义的。
xml的作用
1.用于存储数据和传输数据。
2.作为软件的配置文件。
xml语法规则
在 XML 中,有 5 个预定义的实体引用:
< < 小于
> > 大于
& & 和号
' ’ 单引号
" " 引号
当特殊符号太多时,可以使用CDATA区
<message><![CDATA[内容]]}></message>
解析xml文件
常见的DOM解析思想
1.把各个部分看作对应的对象。
2.会把xml文件全部加载到内存,为Document。
3.在内存中得到一个树形结构,然后获取对应的值。
绿色:Document对象 表示整个xml文件;蓝色:Element对象 表示所有标签;红色:Attribute对象 表示所有属性;紫色:Text对象 表示所有内容文本。Element,Attribute,Text对象都继承于 Node 对象常见解析工具
常用DOM4J
注意:DOM4J不是Java自带的所以要下载jar包
网址:https://dom4j.github.io/
xml解析代码示例
// 1.获取一个解析器对象
SAXReader saxReader = new SAXReader();
// 2.利用解析器把xml文件加载到内存中并返回一个文档对象
Document document = saxReader.read(new File("xml\\myFirstXml.xml"));
// 3.获取根标签
Element rootElement = document.getRootElement();
// 4.通过根标签获取student标签
// elements():可以获取调用者所有的子标签,会把子标签放到一个集合中返回
// elements(String s):获取指定所有子标签
List<Element> studentElements = rootElement.elements("student");
// 5.遍历集合得到每一个student标签
for (Element element : studentElements) {
// attribute()方法获取属性
Attribute idAttribute = element.attribute("id");
String id = idAttribute.getValue();
// 获取name标签
// element("标签名"):获取指定的子标签
Element nameElement = element.element("name");
// 获取这个标签的标签体中的内容
String name = nameElement.getText();
Element ageElement = element.element("age");
String age = ageElement.getText();
System.out.println(id + name + age);
}