欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java dom4j解析xml文件代码实例分享

程序员文章站 2023-12-20 20:28:10
解析xml文件有两种方式,一种是利用dom去解析,这种方式写起代码比较麻烦,对于刚入手的程序员来说比较容易出问题;第二种就是使用dom4j包去解析在要使用dom4j包的时候...

解析xml文件有两种方式,一种是利用dom去解析,这种方式写起代码比较麻烦,对于刚入手的程序员来说比较容易出问题;第二种就是使用dom4j包去解析
在要使用dom4j包的时候,肯定要先引入包

复制代码 代码如下:

import java.io.file;
import java.io.filewriter;
import java.io.ioexception;
import java.io.writer;
import java.util.iterator;

import org.dom4j.document;
import org.dom4j.documentexception;
import org.dom4j.documenthelper;
import org.dom4j.element;
import org.dom4j.io.outputformat;
import org.dom4j.io.saxreader;
import org.dom4j.io.xmlwriter;
/**
* @author icer
*/

public class dom4jdemo{
/**
*
* @param filename 生成的xml文件名
* @param txtname 包含的对账文件txt文件名
*/
public void createxml(string filename,string txtname) {
document document = documenthelper.createdocument();
element root = document.addelement("root");
element head = root.addelement("head");
element type = head.addattribute("type", "0");
element code = head.addattribute("code", "3003");
element yhlb = head.addelement("yhlb");
yhlb.settext("01");
element username = head.addelement("username");
username.settext("gsyh");
element password = head.addelement("password");
password.settext("zheshimima");
element body = root.addelement("body");
element data = body.addelement("data");
element dzwjm = data.addelement("dzwjm");
dzwjm.settext(txtname);
try {
//写入文件
writer filewriter = new filewriter(filename);
outputformat format = outputformat.createprettyprint();
xmlwriter xmlwriter = new xmlwriter(filewriter,format);
xmlwriter.write(document);
xmlwriter.close();
} catch (ioexception e) {
system.out.println(e.getmessage());
}

}
/**
*
* @param filename 要解析的文件名
* @return 解析xml文件得到的需要对账的文件名
*/
public string parserxml(string filename) {
string findfilename = "";
file inputxml = new file(filename);
saxreader saxreader = new saxreader();
try {
document document = saxreader.read(inputxml);
element root = document.getrootelement();
for(iterator i = root.elementiterator();i.hasnext();){
element head = (element) i.next();
for(iterator j = head.elementiterator();j.hasnext();){
element elem = (element) j.next();
system.out.println(elem.getname()+":"+elem.gettext());
for(iterator k=elem.elementiterator();k.hasnext();){
element last = (element) k.next();
system.out.println(last.getname()+":"+last.gettext());
findfilename = last.gettext();
}

}
}
} catch (documentexception e) {
system.out.println(e.getmessage()+"hello");
}
system.out.println("dom4j parserxml");
return findfilename;
}
/**
* 测试main方法
* @param args
*/
public static void main(string[] args){
dom4jdemo demo = new dom4jdemo();
demo.createxml("d://request.xml","test.txt");
demo.parserxml("e://request.xml");
}

上一篇:

下一篇: