为了账号安全,请及时绑定邮箱和手机立即绑定

Java系列:读取XML文件

标签:
Java
  • 导入jar包
    下载jdom-2.0.6.zip并导入jdom-2.0.6.jar
  • xml源文件
<?xml version="1.0" encoding="utf-8"?>
<Root>
  <AlarmList Type="1" Key="0101" Description="瓦斯超限,赶快撤离1"></AlarmList>
  <AlarmList Type="1" Key="0102" Description="瓦斯超限,赶快撤离2"></AlarmList>
  <AlarmList Type="1" Key="0103" Description="瓦斯超限,赶快撤离3"></AlarmList>
</Root>
  • 代码实例
package json;

import java.io.*;
import java.util.List;
import org.jdom2.*;
import org.jdom2.input.SAXBuilder;
import org.json.JSONObject;

public class ReadXML {
    public String[]  readXML() {
        String dataPath = "E:\\GDKJ\\word\\sensor\\xml\\ExecData20180327102411.xml";
        String[] str = new String[0];
        SAXBuilder builder = new SAXBuilder();
        try {
            JSONObject jsonObj = new JSONObject("{}");
            File file = new File(dataPath);
            if (file.isFile() && file.exists()) {
                InputStreamReader in = new InputStreamReader(new FileInputStream(file), "GBK");
                //通过saxBuilder的build方法,将输入流加载到saxBuilder中
                Document document = builder.build(in);
                //通过document对象获取xml文件的根节点
                Element rootElement = document.getRootElement();
                //获取根节点下的子节点的List集合
                List<Element> bookList = rootElement.getChildren();
                int i =0;
                str = new String[bookList.size()];
                for (Element book : bookList) {
                    List<Attribute> attrBook = book.getAttributes();
                    // 解析AlarmList的属性集合
                    for (Attribute attr : attrBook) {
                        String attrName = attr.getName();
                        String attrValue = attr.getValue();
                        jsonObj.put(attrName,attrValue);
                    }
                    str[i] = String.valueOf(jsonObj);
                    i++;
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return str;
    }
}
  • 输出结果
    图片描述
点击查看更多内容
4人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
JAVA开发工程师
手记
粉丝
171
获赞与收藏
888

关注作者,订阅最新文章

阅读免费教程

感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

举报

0/150
提交
取消