java中使用JAXP解析xml(三)对XML文档中进行增、删、改

1、向XML中增加标签

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse("src/1.xml");

// 创建节点
Element price = document.createElement("售价");
price.setTextContent("60.00元");
// 参考节点
Element refNode = (Element) document.getElementsByTagName("售价").item(0);
// 得到要挂在的节点
Element book = (Element) document.getElementsByTagName("书").item(0);
// 插入指定的位置
book.insertBefore(price, refNode);ocument.getElementsByTagName("书").item(0);
book.appendChild(price);

// 把更新后的内存写会 XML文档
TransformerFactory tfactory = TransformerFactory.newInstance();
Transformer transformer = tfactory.newTransformer();
transformer.transform(new DOMSource(document), new StreamResult("src/1.xml"));


2、向XML中增加标签的属性

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse("src/1.xml");

// 要添加的标签
Element bookname = (Element) document.getElementsByTagName("书名").item(0);
// 添加属性
bookname.setAttribute("name", "XXXX");

// 把更新后的内存写会 XML文档
TransformerFactory tfactory = TransformerFactory.newInstance();
Transformer transformer = tfactory.newTransformer();
transformer.transform(new DOMSource(document), new StreamResult("src/1.xml"));


3、在XML文档中删除指定的节点

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse("src/1.xml");

// 要删除的节点
// Element node = (Element) document.getElementsByTagName("售价").item(0);
// Element bookname = (Element) document.getElementsByTagName("书").item(0);
// bookname.removeChild(node);


// 要删除的节点
Element node = (Element) document.getElementsByTagName("售价").item(0);
//找到要删除节点的父节点并删除该节点
node.getParentNode().removeChild(node);

// 把更新后的内存写会 XML文档
TransformerFactory tfactory = TransformerFactory.newInstance();
Transformer transformer = tfactory.newTransformer();
transformer.transform(new DOMSource(document), new StreamResult("src/1.xml"));


4、修改XML中指定节点的值

(其实修改 就是把该节点的值从新设置一篇 即 调用 setTextContent 方法即可)

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse("src/1.xml");

// 找到要修改的节点
Element price = (Element) document.getElementsByTagName("售价").item(0);
// 从新设置该值
price.setTextContent("49.00元");

// 把更新后的内存写会 XML文档
TransformerFactory tfactory = TransformerFactory.newInstance();
Transformer transformer = tfactory.newTransformer();
transformer.transform(new DOMSource(document), new StreamResult("src/1.xml"));



注:以上使用的XML文档均是 java中使用JAXP解析xml(一) 中的···





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值