圆周率没有尽头,风景一直在路上
-
编写测试的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>
-
编码读取(可根据自己需求改写读取节点)
/**
* 演示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 + '\'' +
'}';
}
}
}