本文主要提供一种通过jdom2提取xml中注释的方法,具体如下
1.pom.xml配置:
<dependency>
<groupId>org.jdom</groupId>
<artifactId>jdom2</artifactId>
</dependency>
2. 代码(以下面的form.xml为例):
import org.jdom2.Content;
import org.jdom2.Content.CType;
import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.JDOMException;
import org.jdom2.input.SAXBuilder;
String xmlPath="form.xml";
SAXBuilder sb = new SAXBuilder();
Document doc=null;
File file=new File(xmlPath);
try {
doc = sb.build(file);
}catch (JDOMException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
// 构造文档对象
Element root = doc.getRootElement(); // 获取根元素HD
//以下面的xml为例
Element xmlMap = root.getChild("xmlMap");//元素名称
List<Content> contents = xmlMap.getContent();
for(Content con:contents){//CType为一个枚举类,一共有七种,其中Comment代表注释
if(con.getCType().equals(CType.Comment)){
System.out.println("这是注释:"+con.getValue());
}
}
4. 运行结果:
这是注释: 表单名称
这是注释: 表单id
5. form.xml内容:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xmlMap SYSTEM "messageXml.dtd">
<ROOT desc="">
<xmlMap tag="BODY" >
<!-- 表单名称 -->
<xmlString name="modelName" tag="modelName" default="" optional="false" referred="false" mapping="" mask="" ></xmlString>
<!-- 表单id -->
<xmlString name="modelId" tag="modelId" default="" optional="false" referred="false" mapping="" mask="" ></xmlString>
</xmlMap>
</ROOT>