XML 简介
什么是 xml?
xml 是可扩展的标记性语言。
xml 的作用?
xml 的主要作用有:
1、用来保存数据,而且这些数据具有自我描述性
2、它还可以做为项目或者模块的配置文件
3、还可以做为网络传输数据的格式(现在 JSON 为主)。
文档声明
<?xml version="1.0" encoding="UTF-8"?> xml 声明。 而且这个<?xml 要连在一起写,否则会有报错 属性version 是版本号 encoding 是 xml 的文件编码 standalone="yes/no" 表示这个 xml 文件是否是独立的 xml 文件xml 属性
xml 的标签属性和 html 的标签属性是非常类似的,属性可以提供元素的额外信息 在标签上可以书写属性: 一个标签上可以书写多个属性。每个属性的值必须使用 引号 引起来。 的规则和标签的书写规则一致
xml额外的语法规则
XML 文档必须有根元素
XML 的属性值须加引号
CDATA 语法可以告诉 xml 解析器,CDATA 里的文本内容,只是纯文本,不需要 xml 语法解析 CDATA 格式: <![CDATA[ 这里可以把你输入的字符原样显示,不会解析 xml ]]>
xml文件解析
所需架包
代码:
//b.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<books>
<book sn="SN12341232">
<name>辟邪剑谱</name>
<price>9.9</price>
<author>班主任</author>
</book>
<book sn="SN12341231">
<name>葵花宝典</name>
<price>99.99</price>
<author>班长</author>
</book>
</books>
//解析类
import java.io.*;
import java.util.ArrayList;
import java.util.List;
import org.dom4j.*;
import org.dom4j.io.SAXReader;
import org.junit.Test;
public class MyEclipseGen {
@Test
public static void main(String []args) throws DocumentException{
//1.读取b.xml文件
SAXReader reader = new SAXReader();
//2.在Junit测试中,相对路径是从模块名开始算
Document document = reader.read("src/pack/b.xml");
//3.通过Document获取b.xml的根元素
Element root=document.getRootElement();
//4.通过根元素获取book标签对象
//element()、elements()都是通过标签名查找子元素
List<Element>b=root.elements("book");
//遍历处理每个book标签
for(Element b1:b)
{Element name=b1.element("name");
//asXML()把标签对象转换成标签字符串
//getText()可以获取标签中的文本内容
//elementText()直接获取指定标签名的文本内容
//attributeValue()获取标签指定属性值
System.out.println(name.getText()+b1.elementText("price"));
System.out.println(b1.attributeValue("sn"));
System.out.println(b1.asXML());}
}
}