曾哥作者>
东方不败作者>
66.8售价>
欲练此功,不必自宫!简介>
辟邪剑谱
书名>
葵花宝典书名>
书>
九阴真经书名>
独孤求败作者>
88.9售价>
武功狠!!!简介>
书>
书架>
用递归将想找的标签名中的文本值找到:
package myTestDom4j;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class MyDom4jZSGC {
public static void main(String[] args) throws DocumentException {
SAXReader reader = new SAXReader();
Document document = reader.read("src/main/resources/book.xml");
Element rootElement = document.getRootElement(); //拿到跟节点
List elementList = rootElement.elements(); //的两个儿子
testSelect(elementList);
testAdd();
}
private static void testSelect(List elementList4)throws DocumentException {
int nums = elementList4.size();
for (int i = 0; i < nums; i++) {
Element elementEvery = elementList4.get(i); //的第一个儿子
List elementEverySun = elementEvery.elements();//的两个儿子的后背所有节点
if (elementEverySun.size() == 0) {
if (elementEvery.getName().equals("bookmark")) {
System.out.println(elementEvery.getText());
}
} else {
testSelect(elementEverySun);
}
}
}
private static void testAdd() throws DocumentException, IOException {
SAXReader reader = new SAXReader();
Document document = reader.read("src/main/resources/book.xml");
document.elementByID("zuozhe").addAttribute("name", "yinlixin");
document.elementByID("zuozhe").setText("尹立新武功天下第一——————");
//回写回XML
XMLWriter writer = new XMLWriter(new FileWriter("src/main/resources/book.xml"));
writer.write( document );
writer.close();
}
}