标签:
文档声明
最简单版本
<?xml version=”1.0”?>
加编码格式版本
<?xml version=”1.0”? encoding=”GB2312”>
加是否独立
<?xml version=”1.0” encoding=”GB2312” standlone=”yes”?>
<标签 属性>标签体</标签>
不能有换行、空格,会当做内容一起读取。
<!--注释-->
转义字符:不解释了。
CDATA区:xml解析程序不会处理,直接原样输出
<![CDATA[
<qidi>
<study></stydy>
</qidi>
]]>
处理指令
原理:DOM(可进行修改)、SAX(读取快)
工具:JDOM、DOM4J、SAX
使用步骤:1、导入dom4j包,dom4j.jar
2、编写dom4j读取xml文件代码。
获取XML对象:
File xmlFile = new File(“”);
SAXReader reader =- new SAXReader();
Domcument docu = reader.read(xmlFile);
Element\Node
getText\attributeValue\getRootElement
只能一层一层获取,不可越级。
修改:
FileOutputStream
DocumentHelper.createDocument()
Add增加。。。
XMLWriter(OutputStream,OutputFormat)
别忘关闭。
包名:jaxen
selectNdoes\selectSinglaNode
// 全文
/ 表示从根开始
[] 条件
@ 属性
*通配符
And 并关系
Text()获取文本
SAXPraserFactory.newInstance().newSAXPraser();
Praser.prase(new File,new MyDefaultHandle);
注意:MyDefaultHandle extends DefaultHandle
startElement();
endElement();
characters();
/*
“比较内容”.equals(变量),不然会有空指针。
用 characters获取String时,尽量不要用Integer.parse()进行装换,要不还是报错。
*/
============DOM解析 vs SAX解析 ========
DOM解析 |
SAX解析 |
原理: 一次性加载xml文档,不适合大容量的文件读取 |
原理: 加载一点,读取一点,处理一点。适合大容量文件的读取 |
DOM解析可以任意进行增删改成 |
SAX解析只能读取 |
DOM解析任意读取任何位置的数据,甚至往回读 |
SAX解析只能从上往下,按顺序读取,不能往回读 |
DOM解析面向对象的编程方法(Node,Element,Attribute),Java开发者编码比较简单。 |
SAX解析基于事件的编程方法。java开发编码相对复杂。 |
标签:
原文地址:http://www.cnblogs.com/core404/p/5727774.html