标签:dom4j 嵌套 驱动 uil iso comment 固定 功能 文件
1 public class TestDom4j { 2 @Test // 1、得到某个具体的节点内容,第2本书的书名 3 public void test1() throws DocumentException { 4 SAXReader reader = new SAXReader(); // 创建XML解析对象 5 Document document = reader.read("src/Book.xml"); // 把xml文档加载到document 6 Element rootElement = document.getRootElement(); // 根节点 7 8 Element bookNode = rootElement.element("书"); // 获取“书”节点 9 System.out.println(bookNode.getName()); // 获取书节点的名字 10 11 List list = rootElement.elements(); // 得到当前所有子节点 12 Element secondBook = (Element) list.get(1); // 得到第二本书对象 13 String name = secondBook.element("书名").getText(); // 得到当前节点文本内容,标签的内容 14 System.out.println(name); 15 } 16 17 @Test // 遍历所有元素节点 18 public void test2() throws DocumentException { 19 SAXReader reader = new SAXReader(); 20 Document document = reader.read("src/Book.xml"); 21 Element root = document.getRootElement(); 22 // 遍历节点 23 treeWalk(root); 24 } 25 26 // 遍历节点,输出开始标签 27 private void treeWalk(Element element) { 28 System.out.println(element.getName()); // 输出当前节点的名字 29 for(int i=0; i < element.nodeCount(); i++) { // nodeCount()得到当前节点的所有子节点 30 Node node = element.node(i); // 取出下标为i的节点 31 if(node instanceof Element) { // node是Element类的实例,判断当前节点是否标签 32 treeWalk((Element) node); // 把node强转为节点 33 } 34 } 35 } 36 }
1 public class TestXPath { 2 @Test 3 public void test1() throws DocumentException { 4 SAXReader read = new SAXReader(); 5 Document document = read.read("src/Book.xml"); 6 Node node = document.selectSingleNode("/书架/书[2]/书名"); // 从1开始 7 System.out.println(node.getText()); 8 } 9 10 @Test 11 public void test2() throws DocumentException { 12 SAXReader read = new SAXReader(); 13 Document document = read.read("src/Book.xml"); 14 List list = document.selectNodes("//*"); // //*当前目录下所有子节点 15 // 遍历所有节点 16 for(int i=0; i < list.size(); i++) { 17 Node node = (Node) list.get(i); 18 System.out.println(node.getName()+"\t"+node.getText()); 19 } 20 } 21 }
标签:dom4j 嵌套 驱动 uil iso comment 固定 功能 文件
原文地址:http://www.cnblogs.com/1989guojie/p/6130654.html