当前位置: 移动技术网 > IT编程>开发语言>Java > java dom4j解析xml文件代码实例分享

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

2019年07月22日  | 移动技术网IT编程  | 我要评论

解析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");
}

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网