java利用jdom解析xml文件

说明:这只是一个简单的利用jdom解析xml文件的例子,读者可以下载附件的xml样例文件
import java.io.File;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;

import org.jdom.*;
import org.jdom.input.SAXBuilder;
import org.jdom.xpath.XPath;

public class ReadXml {

 public static void main(String[] args) {
      readXML();
 }
 
 private static void readXML(){
     //创建一个
     SAXBuilder builder=new SAXBuilder();
     try {
          //获取xml文件
          Document doc=builder.build(new File("data.xml"));
          
          //取得xml文件的根节点
          Element rootElt=(Element)doc.getRootElement();
          List eltList=XPath.selectNodes(rootElt,"//artist/catalog");
          Iterator iter=eltList.iterator(); 
          while(iter.hasNext()){
             Element catalog=(Element)iter.next();
             System.out.println("catalog_name:"+catalog.getChild("name").getText());
             System.out.println("alias:"+catalog.getChild("alias").getText());
    
             List items=catalog.getChildren("item");
             if(items!=null){
                  readCatalogItemAndMaterial(items);
              }
    
             List materials=catalog.getChildren("material");
            if(materials!=null){
                readCatalogItemAndMaterial(materials);
             }
     }
     } catch (JDOMException e) {
            e.printStackTrace();
      } catch (IOException e) {
            e.printStackTrace();
     }
 }
 
 private static void readCatalogItemAndMaterial(List list){
      Iterator iter=list.iterator();
      while(iter.hasNext()){
           Element elt=(Element)iter.next();
           System.out.println(elt.getChild("name").getText());
      }
 }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值