xml解析
在java应用开发中我们和xml打交道得机会太平凡了,一般情况下我看会用JDOM或是DOM4j来解析我们得XML文件,下面是一个Dom4j解析xml文件得例子,其中包括了对xml文件得取值、赋值、提取节点、节点得遍历等。
SAXReader reader =
new
SAXReader();
Document doc = reader.read(...);
List childNodes = doc.selectNodes("//Config/Child/ChildNode"
);
for
(Object obj:childNodes) {
Node childNode = (Node)obj;
String name = childNode.valueOf("@name"
);
String text = childNode.getText();
}
一.Document对象相关
1
.读取XML文件,获得document对象.
SAXReader reader = new
SAXReader();
Document document = reader.read(new
File(
"input.xml"
));
2
.解析XML形式的文本,得到document对象.
String text = "<members></members>"
;
Document document = DocumentHelper.parseText(text);
3
.主动创建document对象.
Document document = DocumentHelper.createDocument();
Element root = document.addElement("members"
);
// 创建根节点
二.节点相关
1
.获取文档的根节点.
Element rootElm = document.getRootElement();
2
.取得某节点的单个子节点.
相关文档:
写一个XML文件 TinyXML 是一个mini的C++ XML解析库,它是非验证的,它可以很容易的集成到其他的程序中.它解析一份XML doc,以此创建一个可以被读、写,保存的DOM.它主要的类层次架构,函数原形详细说明参看: http://www.grinninglizard.com/tinyxml/index.html
// 以下以简单的程序TinyXMLTest为例 TinyXML中最根本的就是Docu ......
package com.pk.xml;
import java.io.File;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class Dom4j {
public static void main(String[] args) {
try {
//获得SAX解析器
SAXReader reader = new SAXReader();
//解析文件
File file = n ......
同步程序案例
procedure TGetOrderThread.PostDB(webnr:WideString);
var
Err: String;
SetWebnr:WideString;
xmlDoc: IXMLDocument;
root: IXMLNode;
rowc: IXMLNode;//记录数
rows: IXMLNodeList;//主记录列表
row: IXMLNode;
drows: IXMLNodeList;// ......
下午看了一下dom和dom4j,感觉这两者在解析方面差不多,但是dom4j要比dom简单一些,在创建一个xml文件,dom4j要比dom简单太多了,毕竟人家都帮我们封装好了。
dom是不需要加包的,而dom4j要加一个dom4j-1.6.1.jar这个包。具体的下载路径是:http://www.dom4j.org/
下面我说一下这两者如何解析和创建,以及他们的区别。x ......