f95458d636d3776f8173207b467530ef44103c96.svn-base 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. package com.sinosoft.lz.system.sms.dao;
  2. import java.io.File;
  3. import java.io.FileOutputStream;
  4. import java.io.FileWriter;
  5. import java.io.OutputStreamWriter;
  6. import java.nio.charset.Charset;
  7. import java.nio.charset.CharsetEncoder;
  8. import java.util.Iterator;
  9. import java.util.List;
  10. import org.dom4j.Attribute;
  11. import org.dom4j.Document;
  12. import org.dom4j.Element;
  13. import org.dom4j.io.SAXReader;
  14. //import org.junit.Test;
  15. public class SmsDom {
  16. public void test() throws Exception {
  17. // 创建saxReader对象
  18. SAXReader reader = new SAXReader();
  19. // 通过read方法读取一个文件 转换成Document对象
  20. Document document = reader.read(new File("D://test/t1/send20151009112525_10701.xml"));
  21. //获取根节点元素对象
  22. Element node = document.getRootElement();
  23. //遍历所有的元素节点
  24. listNodes(node);
  25. }
  26. /**
  27. * 遍历当前节点元素下面的所有(元素的)子节点
  28. *
  29. * @param node
  30. */
  31. public void listNodes(Element node) {
  32. System.out.println("当前节点的名称::" + node.getName());
  33. // 获取当前节点的所有属性节点
  34. List<Attribute> list = node.attributes();
  35. // 遍历属性节点
  36. for (Attribute attr : list) {
  37. System.out.println(attr.getText() + "-----" + attr.getName()
  38. + "---" + attr.getValue());
  39. }
  40. if (!(node.getTextTrim().equals(""))) {
  41. System.out.println("文本内容::::" + node.getText());
  42. }
  43. // 当前节点下面子节点迭代器
  44. Iterator<Element> it = node.elementIterator();
  45. // 遍历
  46. while (it.hasNext()) {
  47. // 获取某个子节点对象
  48. Element e = it.next();
  49. // 对子节点进行遍历
  50. listNodes(e);
  51. }
  52. }
  53. public static void main(String[] args) throws Exception {
  54. SmsDom sd=new SmsDom();
  55. sd.test();
  56. }
  57. }