在Java后台开发中有时候会碰到解析xml文件的节点、属性等需求,一般比较方便的方法是采用dom4j进行解析。
首先是需要解析的xml文件,文件内容如下
<?xml version="1.0" encoding="utf-8"?>
<UDXZip>
<Name>
<add value="SlopeLimitation.xml"/>
</Name>
<DataTemplate type="schema">
<UdxDeclaration>
<UdxNode1>
<UdxNode name="slope_limitation" type="DTKT_INT | DTKT_LIST" description="slope_limitation"/>
</UdxNode1>
</UdxDeclaration>
</DataTemplate>
</UDXZip>
通过Document 来读取xml,并获取根元素
//将string串读取为xml
Document configXML = DocumentHelper.parseText(content.toString());
//获取根元素
Element root = configXML.getRootElement();
此时,获取的根元素root即为xml中对应的UDXZip元素,取节点以及属性值时通过.element()和.attributeValue()来获取。
//取DataTemplate节点的type值,为schema
dataTemplate = root.element("DataTemplate").attributeValue("type");
//取UdxNode节点的几个属性值,分别是slope_limitation、DTKT_INT | DTKT_LIST以及slope_limitation
dataTemplate = root.element("DataTemplate").element("UdxDeclaration").element("UdxNode1").element("UdxNode").attributeValue("name");
dataTemplate = root.element("DataTemplate").element("UdxDeclaration").element("UdxNode1").element("UdxNode").attributeValue("type");
dataTemplate = root.element("DataTemplate").element("UdxDeclaration").element("UdxNode1").element("UdxNode").attributeValue("description");
通过以上方法,即可获得xml的各种数据
本文地址:https://blog.csdn.net/qq_38502918/article/details/107491429
如对本文有疑问, 点击进行留言回复!!
springmvc之ResponseBody响应json数据遇到的错误及解决
uni-app 后台升级 静默升级 uniapp 后台更新 静默更新 在线升级
SpringBoot多Module启动报错Could not transfer metadata
Hibernate项目报错:Cannot call sendError() after the response has been committed
网友评论