使用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();
}
}

转载于:https://www.cnblogs.com/zqbc/p/6759882.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值