XML解析之jdom解析

本文介绍如何使用JDOM解析XML文件,包括获取解析器、读取文档、遍历节点并打印节点属性和文本内容。通过示例代码演示了从XML文件中解析用户信息的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

   jdom解析:
        (1)使用JDOM首先要指定使用什么解析器。如:
    SAXBuilder builder=new SAXBuilder(); 这表示使用的是默认的解析器
(2)得到Document,我们以后要进行的所有操作都是对这个Document操作的:
    InputStream input = new FileInputStream("student.xml");
    Document document = builder.build(input);// 获得文档对象
(3)得到根元素:
    Element books=doc.getRootElement();
    在JDOM中所有的节点(DOM中的概念)都是一个org.jdom.Element类,当然他的子节点也是一个org.jdom.Element类。
(4)得到元素(节点)的集合:
     List booklist=books.getChildren("student");
       

package bean;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.List;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
/**
 *  jdom解析xml文件
 * @author tingiting123
 *
 */
public class XmlParse2 {
    public  void xmlParse() throws Exception {
        SAXBuilder builder = new SAXBuilder();//获取解析器
        InputStream input = new FileInputStream("student.xml");//将配置文件转换为字节流
        Document document = builder.build(input);// 获得文档对象
        Element root = document.getRootElement();// 获得根节点
        List<Element> list = root.getChildren(); //获取根节点下的所有子节点
        for (Element e : list) {
            System.out.println("id=" + e.getAttributeValue("id"));
            System.out.println("username=" + e.getChildText("username")+"\t"+"password=" + e.getChildText("password"));
        }
    }
    public static  void main(String ars[]) throws Exception {
        XmlParse2 xp = new XmlParse2();
        xp.xmlParse();// 解析XML
    }
}

-------------------------------------------------------------------------------------------------------------------------

student.xml

1
2
3
4
5
6
7
8
9
10
11
<?xml version="1.0" encoding="UTF-8"?>
<persons>
    <person id="1">
    <username>张三</username>
    <password>123123</password>
    </person>
    <person id="2">
    <username>李四</username>
    <password>123456yy</password>
    </person>
</persons>


----------------------------------------------------
运行结果:
id=1
username=张三 password=123123
id=2
username=李四 password=123456yy


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值