使用DOM4J维护手机收藏信息

public class DOM4JPares3 {

Document doc = null;

public void getDocument() {
SAXReader sax = new SAXReader();
try {
doc = sax.read("收藏信息.xml");
} catch (DocumentException e) {
e.printStackTrace();
}
}

// 显示手机的品牌及型号
public void showInfo() {
// 获取根节点
Element rootele = doc.getRootElement();
// 获取所有的子节点8
Iterator iterator = rootele.elementIterator();
while (iterator.hasNext()) {
Element brandele = (Element) iterator.next();
String brandStr = brandele.attribute("name").getText();
// brandele.attributeValue("name");
Iterator typeit = brandele.elementIterator();
while (typeit.hasNext()) {
Element typeele = (Element) typeit.next();
String typeStr = typeele.attributeValue("name");
System.out.println(brandStr + ":" + typeStr);
}
}

}

// 新增手机
public void addPhoneInfo() {
// 先获取根节点
Element root = doc.getRootElement();
// 创建一个brand节点
Element brandEle = root.addElement("Brand");
brandEle.addAttribute("name", "三星");
// 创建一个Type节点
Element typer = brandEle.addElement("Type");
typer.addAttribute("name", "s7");
saveXML();
}

// 修改
public void updata() {
Element rootele = doc.getRootElement();
Iterator iterator = rootele.elementIterator();
while (iterator.hasNext()) {
Element brandele = (Element) iterator.next();
if (brandele.attributeValue("name").equals("华为")) {
brandele.addAttribute("name", "诺基亚");
saveXML();
}
}
}

// 删除
public void delete() {
Element rootele = doc.getRootElement();
Iterator iterator = rootele.elementIterator();
while (iterator.hasNext()) {
Element brandele = (Element) iterator.next();
if (brandele.attributeValue("name").equals("三星")) {
rootele.remove(brandele);
saveXML();
}
}
}

// 保存
public void saveXML() {
OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("GBK");
try {
XMLWriter writer = new XMLWriter(new FileWriter("新的收藏信息.xml"),
format);
writer.write(doc);
writer.close();
} catch (IOException e) {
e.printStackTrace();
}

}

public static void main(String[] args) {

DOM4JPares3 dom4j = new DOM4JPares3();
dom4j.getDocument();
dom4j.showInfo();
dom4j.saveXML();
dom4j.addPhoneInfo();
dom4j.showInfo();
dom4j.updata();
dom4j.showInfo();
dom4j.delete();
dom4j.showInfo();
}
}

posted on 2017-04-25 00:01  mliang  阅读(225)  评论(0编辑  收藏  举报

导航