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(一) 中的···