XML
1. 概念
可扩展标记语言,xml是互联网数据传输的重要工具,它
可以跨越互联网任何的平台,不受编程语言和操作系统
的限制,可以说它是一个拥有互联网最高级别通行证的
数据携带者。xml是当前处理结构化文档信息中相当给力
的技术,xml有助于在服务器之间穿梭结构化数据,这使
得开发人员更加得心应手的控制数据的存储和传输。
Xml用于标记电子文件使其具有结构性的标记语言,可
以用来标记数据、定义数据类型,是一种允许用户对自
己的标记语言进行定义的源语言。Xml是标准通用标记
语言(SGML)的子集,非常适合Web传输。XML提供统
一的方法来描述和交换独立于应用程序或供应商的结构
化数据。
2. 基础语法
格式比较严格,具体解释暂时可以不了解。
2.2. 标签、元素、属性
在 xml 中通过一对 <> 引起来的内容称为 标签 ,标签有
开始有结束(也可以有自闭合标签),需正确配对,开
始标签和结束标签之间只差一个 / 。标签区分大小写。
标签中还可以存在属性(一般在开始标签中),属性为
标签添加了一些额外信息,属性的形式为 属性名=“属性
值” ,一个标签中可以存在多个属性。
从开始标签到结束标签作为一个整体,称为 元素 。xml
文件就是由一个一个的元素组成的。
我们一般用DTD
<!DOCTYPE 根元素 SYSTEM "文件名">
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper
3.0//EN"
"http://mybatis.org/dtd/mybatis-3-
mapper.dtd">
4.1. Dom4J解析Xml(推荐)
DOM4J 是一个非常非常优秀的Java XML API,具有性能
优异、功能强大和极端易用使用的特点,同时它也是一
个开放源代码的软件。如今你可以看到越来越多的 Java
软件都在使用 DOM4J 来读写 XML,特别值得一提的是连
Sun 的 JAXM 也在用 DOM4J。
例子:
public static void main(String[] args) throws
Exception{
SAXReader reader=new SAXReader();
Document document=reader.read(new
File("src\\source.xml"));
Element
rootElm=document.getRootElement();//获得根节点
Element
memberElm=rootElm.element("Student"); //获得子
节点
Element
ageElm=memberElm.addElement("age");//添加子节点
ageElm.setText("29");//设置节点文本
// 创建格式化类
OutputFormat format =
OutputFormat.createPrettyPrint();
// 设置编码格式,默认UTF-8
format.setEncoding("UTF-8");
// 创建输出流,此处要使用Writer,需要指定输入编码
格式,使用OutputStream则不用
FileOutputStream fos = new
FileOutputStream("src\\source.xml");
// 创建xml输出流
XMLWriter writer = new XMLWriter(fos,
format);
writer.write(document);
writer.close();
}