刚刚完成了用dom4j读取xml字符串格式的运用,在此记录一下,比如有一个xml字符串如下格式:
String resultTest = "<?xml version=\"1.0\" encoding=\"GBK\"?><class Name=\"className\"><resultInfo><classID>123456</classID></resultInfo><resultInfo><classID>456789</classID></resultInfo></class>";
注意字符串中节点中不能带空格,如:< resultInfo>会报org.xml.sax.SAXParseException: The content of elements must consist of well-formed character data or markup.这个异常。
首先创建Document对象:Document doc = null;然后将字符串转为XML:doc = DocumentHelper.parseText(resultTest);这样就把字符串格式的数据转换成document对象了;
读取xml文件也很简单,代码如下:SAXReader sr = new SAXReader();doc = sr.read("xml路径");
接下来就是获取document对象中的数据了,具体代码如下:
Element rootElt = doc.getRootElement(); // 获取根节点
System.out.println("根节点:" + rootElt.getName());// 拿到根节点的名称
Iterator<?> iter = rootElt.elementIterator("resultInfo"); // 获取根节点下的子节点resultInfo
// 遍历resultInfo节点
while (iter.hasNext()) {
Element recordEle = (Element) iter.next();
String deptID = recordEle.elementTextTrim("classID"); // 拿到resultInfo节点下的子节点班级编号值
System.out.println("classID: " + classID);
}