昨天学了个用 List 列表来解析 xml 文件,今天换了另一种方法:使用 Iterator 迭代器来解析。
和使用 List 类似,首先引入:
import java.io.File; import java.util.Iterator; import org.dom4j.Attribute; import org.dom4j.Document; import org.dom4j.Element; import org.dom4j.io.SAXReader;
然后注意对异常的处理:
public static void main(String[] args) throws Exception { }
初始化相关变量:
SAXReader reader = new SAXReader(); Document document = reader.read(new File("books.xml")); Element root = document.getRootElement(); Iterator it = root.elementIterator();
再通过循环来遍历整个树:
while (it.hasNext()) { Iterator attrIt = element.attributeIterator(); while (attrIt.hasNext()) { Attribute a = (Attribute) attrIt.next(); System.out.println(a.getName() + ": " + a.getValue()); } Iterator eleIt = element.elementIterator(); while (eleIt.hasNext()) { Element e = (Element) eleIt.next(); System.out.println(e.getName() + ": " + e.getText()); } }
xml 文件结构参考昨天的 Java 解析 xml 文件 - List 。