开箱即用之Java读取XML文本文件

圆周率没有尽头,风景一直在路上
  1. 编写测试的xml文本文件

<?xml version="1.0" encoding="utf-8" ?>
<plugin>
    <task>
        <period>5000</period>
        <obj>PluginTaskTest</obj>
    </task>
    <task>
        <period>8000</period>
        <obj>PluginTaskTest1</obj>
    </task>
</plugin>
  1. 编码读取(可根据自己需求改写读取节点)


 /**
  * 演示java读取xml文件
  */
public class ReadXmlFileTest {
 
    public static void main(String[] args) {
        List<Xml> xmlList = new ArrayList<Xml>();
        try {
            //实例化读取xml文件的对象
            SAXReader reader = new SAXReader();
            //设置文件路径,并将信息保存到一个Document对象中
            Document doc = reader.read("config/pluginTaskTimmer.xml");
            //获取xml的根标签
            Element root = doc.getRootElement();
            //获取根标签中所有名字为子标签的标签中的所有子子标签,并保存到一个List中
            List<Element> list = root.elements("task");
            //遍历list集合 , 取出其中的数据
            for (Element e : list) {
                /**
                 * 使用Element类的elementText方法获取子子标签中的数据,
                 * 参数为子子标签的标签名,返回值为String类型
                 */
                String period = e.elementText("period");
                String obj = e.elementText("obj");
                //将信息保存到一个对象中,
                xmlList.add(new Xml(period, obj));
            }
            //最后遍历xmlList 检查是否读取到了数据
            for (Xml x : xmlList) {
                System.out.println(x.period);
                System.out.println(x.obj);
                System.out.println(x.toString());
            }

        } catch (DocumentException e) {
            e.printStackTrace();
        }
    }

    /**
     * Xml类用来保存xml文件中的信息
     */
    static class Xml {
        String period;
        String obj;

        public Xml(String period, String obj) {
            this.period = period;
            this.obj = obj;
        }

        @Override
        public String toString() {
            return "Xml{" +
                    "period='" + period + '\'' +
                    ", obj='" + obj + '\'' +
                    '}';
        }
    }
}
  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值