JDOM查询XML文档实例

本文介绍了如何利用JDOM库查询和操作XML文档,通过具体的示例代码展示了解析、导入、编码转换以及字符串处理等关键步骤。
摘要由CSDN通过智能技术生成

import  java.io.FileInputStream;
import  java.io.FileNotFoundException;
import  java.io.IOException;
import  java.util.Iterator;
import  java.util.List;

import  org.jdom.Document;
import  org.jdom.Element;
import  org.jdom.JDOMException;
import  org.jdom.input.SAXBuilder;
public   class  JDOMParseExample  {

    
public static void main(String[] args) 
        
throws IOException,FileNotFoundException,JDOMException{
        
//SAXBuilder使用一个第三方的SAX解析器,可以从不同的输入源来构造JDOM文档对象
        SAXBuilder saxBuilder=new SAXBuilder();
        Document doc
=saxBuilder.build(new FileInputStream("student.xml"));
        
//getRootElement()用于返回文档的根元素.
        Element element=doc.getRootElement();
        
//Element类中定义了获取子元素的方法,得到所有子元素
        List childrenList=element.getChildren();
        
int j=1;
        
for(Iterator i=childrenList.iterator();i.hasNext();){
            
//返回迭代的下一个元素
            Element current=(Element)i.next();
            
//得到子元素的名称
            String name=current.getName();
            System.out.println(name);
            
//得到子元素属性为性别的值
            String str_sex=current.getAttributeValue("性别");
            
//得到子元素为姓名的值
            String str_name=current.getChildText("姓名");
            
//得到子元素为年龄的值
            String str_age=current.getChildText("年龄");
            
//得到子元素为电话的值
            String str_phone=current.getChildText("电话");
            
//实例化StringBuffer类型的对象
            StringBuffer sb=new StringBuffer();
            sb.append(
"************************* ")
            .append(
"*  第  ").append(j).append("   个元素的名称").append(name).append(" * ")
            .append(
"*  姓名=").append(str_name).append(" * ")
            .append(
"*  性别=").append(str_sex).append(" * ")
            .append(
"*  年龄=").append(str_age).append(" * ")
            .append(
"*  电话=").append(str_phone).append(" * ")
            .append(
"************************* ");
            System.out.println(sb.toString());
            j
++;            
        }

    }

}

 

以下是XML文档:

 

<? xml version="1.0" encoding="GB18030" ?>
< 学生花名册 >
  
< 学生 性别="男" >
    
< 姓名 > 李四 </ 姓名 >
    
< 电话 > 6287555 </ 电话 >
    
< 年龄 > 15 </ 年龄 >
  
</ 学生 >
  
< 学生 性别="男" >
    
< 姓名 > 张三 </ 姓名 >
    
< 电话 > 8273425 </ 电话 >
    
< 年龄 > 13 </ 年龄 >
  
</ 学生 >
</ 学生花名册 >

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值