码迷,mamicode.com
首页 > 编程语言 > 详细

java-web-dom4j解析XML-递归方式

时间:2015-06-28 21:26:15      阅读:121      评论:0      收藏:0      [点我收藏+]

标签:

<?xml version="1.0" encoding="UTF-8"?>
<书架>
   

  <书 出版日期="2013-10-25" 出版社="人民出版社" 编号="b1">
       <作者>曾哥</作者>
      <作者>东方不败</作者>
      <售价>66.8</售价>
      <简介>欲练此功,不必自宫!</简介>
      <书名>
       <bookmark>辟邪剑谱</bookmark>
      </书名>
      <书名>葵花宝典</书名>

   </书>
  

   <书 出版社="清华出版社" 编号="b2">
      <书名 ID="b1" value="hahaha">九阴真经</书名>
      <作者>独孤求败</作者>
      <售价>88.9</售价>
      <简介>武功狠!!!</简介>
   </书>
</书架>

 

用递归将想找的标签名中的文本值找到:

 

 

package myTestDom4j;

 

import java.util.List;

 

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

 

public class MyDom4jZSGC {
     

   public static void main(String[] args) throws DocumentException {
    SAXReader reader = new SAXReader();
    Document document = reader.read("src/main/resources/book.xml");
    Element rootElement = document.getRootElement(); //拿到跟节点<书架>
    List<Element> elementList = rootElement.elements(); //<书架>的两个儿子

     testSelect(elementList);

  }

 

   

  private static void testSelect(List<Element> elementList4) throws DocumentException {

 

    int nums = elementList4.size();
    for (int i = 0; i < nums; i++) {
       Element elementEvery = elementList4.get(i);     //<书架>的第一个儿子
       List<Element> elementEverySun = elementEvery.elements();//<书架>的两个儿子的后背所有节点
   
       if (elementEverySun.size() == 0) {
          if (elementEvery.getName().equals("bookmark")) {
           System.out.println(elementEvery.getText());
          }
       } else {
           testSelect(elementEverySun);
       }
     }

    }
 }

 

 

 

 

 

java-web-dom4j解析XML-递归方式

标签:

原文地址:http://www.cnblogs.com/yinlixin/p/4606061.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!