引入依赖
<!-- dom4j -->
<dependency>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>1.6.1</version>
</dependency>
xml 例子
<CertAuth>
<success>true</success>
<message></message>
<parameters>
<parameter key="_CERT_YX">
<![CDATA[]]>
</parameter>
<parameter key="_CERT_DH">
<![CDATA[]]>
</parameter>
<parameter key="_CERT_YHLX">
<![CDATA[]]>
</parameter>
<parameter key="_CERT_SLBH">
<![CDATA[]]>
</parameter>
<parameter key="_CERT_DZ">
<![CDATA[]]>
</parameter>
</parameters>
</CertAuth>
使用 Dom4j 解析 XML 字符串:
//需要解析的XML串
String strXml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +"<Interface id=\"Test_V01\" content=\"output\" version=\"1.0\">"+"<property name=\"client_id\">test01</property>" +"<property name=\"project\">$ARG0</property>"+"</Interface>";
Document doc = null;
try {
doc = DocumentHelper.parseText(strXml);
} catch (DocumentException e) {
//解析失败
e.printStackTrace();
}
使用 Dom4j 解析 xml 文件
//1.创建Reader对象
SAXReader reader = new SAXReader();
//2.加载xml
Document document = reader.read(new File("src/main/resources/demo.xml"));
获取节点值
// 获取根节点
Element rootElement = document.getRootElement();
// success 节点的值
String state = rootElement.element("success").getStringValue();
获取节点下某一指定属性值
Element parametersNode = rootElement.element("parameters");
private String getNodeValueByAttribute(Element parametersNode, String attribute) {
String parameterNodeValue = null;
Iterator iterator = parametersNode.elementIterator();
while (iterator.hasNext()) {
Element parameterNode = (Element) iterator.next();
// 节点属性值
String cert_sn = parameterNode.attributeValue("key");
if (cert_sn.equals(attribute)) {
parameterNodeValue = parameterNode.getStringValue();
break;
}
}
return parameterNodeValue;
}
34万+

被折叠的 条评论
为什么被折叠?



