XML简介
什么是xml
xml 是可扩展的标记性语言
XML的主要作用:
1.保存数据 为保存的数据添加标签,并按照属性保存数据 这些数据具有自我描述性
2.还可以作为配置文件
3.还可以作为网络传输数据的格式 以json为主
<?xml version="1.0" encoding="utf-8" ?> 不能有空格
//xml的声明和编码格式
<?xml version="1.0" encoding="utf-8" ?>
<books>
<book sn="SN123412123412">
<name>时间简史</name>
<author>霍金</author>
<price>75</price>
</book>
<book sn="SN123412123411">
<name>狂人日记</name>
<author>鲁迅</author>
<price>28</price>
</book>
</books>
XMl注释
XML注意
名称可以包含字符,名称和其他字符
名称不能以数字和符号开头
名称不能包含空格
可以是双标签和单标签
和HTML类似,属性可以提供元素的额外信息,在标签上可以书写多个属性,每个属性必须用引号引起来,规则和标签书写一致
XML文档必须要有根元素
根元素,没有父元素的元素
xml中的特殊字符< >
<![CDATA[]]>[]中的元素原样显示,不需要语法解析
XML解析
XML是可扩展的标记语言,都可以使用dom解析
Sax和dom解析 现在采用SAX,区别在于SAX一行一行读,而dom会创建大量的dom对象 jom在dom上进行封装,dom4j对jdom封装,pull主要在Android上开发
dom4j解析技术
package com.ss.xml_dom4j;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.junit.Test;
import java.util.List;
public class Dom4jTest {
@Test
public void test1() throws DocumentException {
SAXReader saxReader = new SAXReader();
Document document = saxReader.read("src/books.xml");
System.out.println(document);
}
@Test
public void test2() throws DocumentException {
//1.读取books.xml
//2.通过xml获取根元素
SAXReader saxReader = new SAXReader();
Document document = saxReader.read("src/books.xml");
//3.获取book标签对象
Element rootElement = document.getRootElement();
System.out.println(rootElement);
//4.遍历把标签转为book类
//element 和 elements都是通过标签遍历元素
List<Element> elements = rootElement.elements();
for (Element book : elements) {
Element name = book.element("name");
String s = name.getText();
System.out.println(s);
//得到标签文本
String price = book.elementText("price");
System.out.println(price);
//得到标签
System.out.println(name.asXML());
}
}
}