使用dom4j把XML文件解析成JavaBean

本文介绍如何利用dom4j将XML文件转换为JavaBean对象,首先确保引入dom4j库,然后详细讲解从XML到JavaBean的转换过程。

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

使用dom4j把XML文件解析成JavaBean

前言:

下面是我需要解析的XML文件

<?xml version="1.0" encoding="utf-8"?>
<root>
    <device_classes >
        <device_class>
            <code>0x01</code>
            <name>LKJ2000</name>
        </device_class>
        <device_class>
            <code>0x02</code>
            <name>晃车</name>
        </device_class>
        <device_class>
            <code>0x03</code>
            <name>微机柜</name>
        </device_class>
        <device_class>
            <code>0x04</code>
            <name>列供</name>
        </device_class>
        <device_class>
            <code>0x05</code>
            <name>轴报</name>
        </device_class>
        <device_class>
            <code>0x07</code>
            <name>图像</name>
        </device_class>
        <device_class>
            <code>0x08</code>
            <name>TAX装置</name>
        </device_class>
        <device_class>
            <code>0x09</code>
            <name>LAIS车载主机</name>
        </device_class>
        <device_class>
            <code>0x0A</code>
            <name>ATP</name>
        </device_class>
        <device_class>
            <code>0x0D</code>
            <name>CMD</name>
        </device_class>
        <device_class>
            <code>0xFE</code>
            <name>LAIS地面通信服务器</name>
        </device_class>
        <device_class>
            <code>0xFF</code>
            <name>LAIS地面WLAN服务器</name>
        </device_class>
     </device_classes>

     <datatypes>
     <datetype>
        <code>0x01</code>
        <name>自检信息</name>
     </datetype>

      <datetype>
        <code>0x02</code>
        <name>版本信息</name>
     </datetype>

      <datetype>
        <code>0x03</code>
        <name>设备事件信息</name>
     </datetype>

      <datetype>
        <code>0x04</code>
        <name>设备实时信息</name>
     </datetype>

     <datetype>
        <code>0x05</code>
        <name>预留字段</name>
     </datetype>

     <datetype>
        <code>0x06</code>
        <name>预留字段</name>
     </datetype>

         <datetype>
        <code>0x07</code>
        <name>预留字段</name>
     </datetype>

         <datetype>
        <code>0x08</code>
        <name>预留字段</name>
     </datetype>
      <datetype>
        <code>0x09</code>
        <name>预留字段</name>
     </datetype>

      <datetype>
        <code>0x30</code>
        <name>GPS定位信息</name>
     </datetype>

      <datetype>
        <code>0x40</code>
        <name>文件信息</name>
     </datetype>

      <datetype>
        <code>0x51</code>
        <name>注册信息</name>
     </datetype>

      <datetype>
        <code>0x52</code>
        <name>注册信息应答</name>
     </datetype>
      <datetype>
        <code>0x53</code>
        <name>心跳信息</name>
     </datetype>

      <datetype>
        <code>0x54</code>
        <name>应答信息</name>
     </datetype>

       <datetype>
        <code>0x55</code>
        <name>请求信息</name>
     </datetype>

     <datetype>
        <code>0x80</code>
        <name>透传数据</name>
     </datetype>

      </datatypes>



</root>

处理步骤:


第一步:

先把dom4j的jar包导入到项目lib目录下


第二步:

XML—>javabean


import java.util.Iterator;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class Dom4j {
    /**
     * @param args
     * @throws Exception 
     */
    public static void main(String[] args) throws Exception {
        SAXReader saxReader=new SAXReader();
        Document document=saxReader.read("src/mibinfo.xml");//引入XML文件路径
        Element rootElement=document.getRootElement();
        Element rootElm = rootElement.element("device_classes");  
        Iterator iter=rootElm.elementIterator("device_class");
         while(iter.hasNext())
         {
            Element deElement= (Element) iter.next();
            System.out.println(deElement.elementText("code"));
            System.out.println(deElement.elementText("name"));  
         }

        Element rootElme = rootElement.element("datatypes"); 
        Iterator iterr=rootElme.elementIterator("datetype");
                 while(iterr.hasNext()){
             Element tyElement= (Element) iterr.next();
                System.out.println(tyElement.elementText("code"));
                System.out.println(tyElement.elementText("name"));
         }
    }
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值