Dom4J解析XML文件

1 import java.io.File;
2 import java.io.FileWriter;
3 import java.io.IOException;
4 import java.io.Writer;
5 import java.util.Iterator;
6
7 import org.dom4j.Document;
8 import org.dom4j.DocumentException;
9 import org.dom4j.DocumentHelper;
10 import org.dom4j.Element;
11 import org.dom4j.io.OutputFormat;
12 import org.dom4j.io.SAXReader;
13 import org.dom4j.io.XMLWriter;
14 /**
15 * @author Icer
16 */
17
18 public class Dom4jDemo{
19 /**
20 *
21 * @param fileName 生成的xml文件名
22 * @param txtName 包含的对账文件txt文件名
23 */
24 public void createXml(String fileName,String txtName) {
25 Document document = DocumentHelper.createDocument();
26 Element root = document.addElement("root");
27 Element head = root.addElement("head");
28 Element type = head.addAttribute("type", "0");
29 Element code = head.addAttribute("code", "3003");
30 Element yhlb = head.addElement("yhlb");
31 yhlb.setText("01");
32 Element username = head.addElement("username");
33 username.setText("gsyh");
34 Element password = head.addElement("password");
35 password.setText("zheshimima");
36 Element body = root.addElement("body");
37 Element data = http://www.cnblogs.com/hanbin/archive/2011/12/22/body.addElement("data");
38 Element dzwjm = data.addElement("dzwjm");
39 dzwjm.setText(txtName);
40 try {
41 // 写入文件
42 Writer fileWriter = new FileWriter(fileName);
43 OutputFormat format = OutputFormat.createPrettyPrint();
44 XMLWriter xmlWriter = new XMLWriter(fileWriter,format);
45 xmlWriter.write(document);
46 xmlWriter.close();
47 } catch (IOException e) {
48 System.out.println(e.getMessage());
49 }
50
51 }
52 /**
53 *
54 * @param fileName 要解析的文件名
55 * @return 解析xml文件得到的需要对账的文件名
56 */
57 public String parserXml(String fileName) {
58 String findFileName = "";
59 File inputXml = new File(fileName);
60 SAXReader saxReader = new SAXReader();
61 try {
62 Document document = saxReader.read(inputXml);
63 Element root = document.getRootElement();
64 for(Iterator i = root.elementIterator();i.hasNext();){
65 Element head = (Element) i.next();
66 for(Iterator j = head.elementIterator();j.hasNext();){
67 Element elem = (Element) j.next();
68 System.out.println(elem.getName()+":"+elem.getText());
69 for(Iterator k=elem.elementIterator();k.hasNext();){
70 Element last = (Element) k.next();
71 System.out.println(last.getName()+":"+last.getText());
72 findFileName = last.getText();
73 }
74
75 }
76 }
77 } catch (DocumentException e) {
78 System.out.println(e.getMessage()+"hello");
79 }
80 System.out.println("dom4j parserXml");
81 return findFileName;
82 }
83 /**
84 * 测试main方法
85 * @param args
86 */
87 public static void main(String[] args){
88 Dom4jDemo demo = new Dom4jDemo();
89 demo.createXml("D://request.xml","test.txt");
90 demo.parserXml("e://request.xml");
91 }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值