DOM4J
1.DOM4J解析XML
public class TestXml { public static void main(String[] args) throws Exception { //创建SAXReader对象,用于读取xml文件 SAXReader reader = new SAXReader(); //读取xml文件,得到Document对象 Document doc = (Document) reader.read(new File("src/scores.xml")); //获取根元素 Element root = doc.getRootElement(); //获取根元素下所有子元素 Iterator<Element> it = root.elementIterator(); while(it.hasNext()){ //取出元素 Element e = it.next(); System.out.println(e.getName()); //获取id属性(可以使用迭代器) Attribute id = (Attribute) e.attribute("id"); System.out.println(id.getName() + "=" +id.getValue()); //获取student的子元素 Element name = e.element("name"); Element course = e.element("course"); Element score = e.element("score"); //打印 System.out.println(name.getName()+ "=" +name.getStringValue()); System.out.println(course.getName() + "=" + course.getText()); System.out.println(score.getName() + "=" + score.getText()); System.out.println("-----------------------"); } } }
2.DOM4J生成XML文件
public class TestXml2 { public static void main(String[] args) throws Exception { //通过DocumentHelper生成一个Document对象 Document doc = DocumentHelper.createDocument(); //添加并得到根元素 Element root = doc.addElement("books"); //为根元素添加子元素 Element book = root.addElement("book"); //为book元素添加属性,可以链式编程 book.addAttribute("id", "b01"); //为book添加子元素 Element name = book.addElement("name"); Element auther = book.addElement("auther"); Element price = book.addElement("price"); //为子元素添加文件 name.addText("Thinking in Java"); auther.addText("张三"); price.addText("88"); /*
//将doc输出到xml文件中 Writer writer = new FileWriter(new File("src/book.xml")); doc.write(writer); //关闭资源 writer.close();
*/ //格式良好的输出 OutputFormat format = OutputFormat.createPrettyPrint(); XMLWriter writer = new XMLWriter(new FileWriter(new File("src/book.xml")), format); writer.write(doc); //关闭资源 writer.close(); } }