首页 > 代码库 > javaweb学习总结十一(JAX对XML文档进行DOM解析)
javaweb学习总结十一(JAX对XML文档进行DOM解析)
一:将内存中写好的xml文件读取到硬盘上
二:DOM方式对xml文件进行增删改查
1:添加节点(默认是在最后的子节点后面添加)
1 @Test 2 // 向元素中添加节点<version>1.0</version> 3 public void test5() throws Exception { 4 Document doc = getDoc(); 5 Node node = doc.getElementsByTagName("book").item(0); 6 7 // 创建节点 8 Element newChild = doc.createElement("version"); 9 newChild.setTextContent("1.3");10 // 添加节点11 node.appendChild(newChild);12 13 // 将内存中xml读取到硬盘中14 TransformerFactory factory = TransformerFactory.newInstance();15 Transformer tf = factory.newTransformer();16 tf.transform(new DOMSource(doc), new StreamResult(new FileOutputStream(17 "xml/books.xml")));18 }
2:在指定位置添加节点
1 @Test 2 // 2:在指定位置添加子节点 3 public void test6() throws Exception { 4 Document doc = getDoc(); 5 // 获取要添加节点的父节点 6 Node node = doc.getElementsByTagName("book").item(1); 7 8 // 获取参考节点 9 Node refNode = doc.getElementsByTagName("author").item(1);10 11 // 创建节点12 Node childNode = doc.createElement("version");13 childNode.setTextContent("2.34");14 15 // 将节点添加到指定位置16 node.insertBefore(childNode, refNode);17 18 // 将内存中xml读取到硬盘中19 TransformerFactory factory = TransformerFactory.newInstance();20 Transformer tf = factory.newTransformer();21 tf.transform(new DOMSource(doc), new StreamResult(new FileOutputStream(22 "xml/books.xml")));23 }
3:删除节点(方式一)
1 @Test 2 // 3:删除节点 3 public void test7() throws Exception { 4 Document doc = getDoc(); 5 // 获取要删除节点的父节点 6 Node node = doc.getElementsByTagName("book").item(1); 7 Node childNode = doc.getElementsByTagName("version").item(0); 8 node.removeChild(childNode); 9 10 // 将内存中xml读取到硬盘中11 TransformerFactory factory = TransformerFactory.newInstance();12 Transformer tf = factory.newTransformer();13 tf.transform(new DOMSource(doc), new StreamResult(new FileOutputStream(14 "xml/books.xml")));15 }
4:删除节点(方式二)
1 @Test 2 public void test8() throws Exception { 3 Document doc = getDoc(); 4 // 获取要删除的节点 5 Node childNode = doc.getElementsByTagName("version").item(0); 6 childNode.getParentNode().removeChild(childNode); 7 8 // 将内存中xml读取到硬盘中 9 TransformerFactory factory = TransformerFactory.newInstance();10 Transformer tf = factory.newTransformer();11 tf.transform(new DOMSource(doc), new StreamResult(new FileOutputStream(12 "xml/books.xml")));13 }
5:修改节点内容
1 @Test 2 // 修改节点内容 3 public void test9() throws Exception { 4 Document doc = getDoc(); 5 // 获取要删除的节点 6 Node node = doc.getElementsByTagName("price").item(0); 7 node.setTextContent("200"); 8 9 // 将内存中xml读取到硬盘中10 TransformerFactory factory = TransformerFactory.newInstance();11 Transformer tf = factory.newTransformer();12 tf.transform(new DOMSource(doc), new StreamResult(new FileOutputStream(13 "xml/books.xml")));14 }
6:添加节点属性
1 @Test 2 // 添加节点属性 3 public void test10() throws Exception { 4 Document doc = getDoc(); 5 // 获取要删除的节点 6 Element ele = (Element) doc.getElementsByTagName("name").item(0); 7 ele.setAttribute("style", "width:80px;"); 8 9 // 将内存中xml读取到硬盘中10 TransformerFactory factory = TransformerFactory.newInstance();11 Transformer tf = factory.newTransformer();12 tf.transform(new DOMSource(doc), new StreamResult(new FileOutputStream(13 "xml/books.xml")));14 }
7:删除节点属性
1 @Test 2 // 删除节点属性 3 public void test11() throws Exception { 4 Document doc = getDoc(); 5 // 获取要删除属性的节点 6 Element ele = (Element) doc.getElementsByTagName("name").item(0); 7 ele.removeAttribute("style"); 8 9 // 将内存中xml读取到硬盘中10 TransformerFactory factory = TransformerFactory.newInstance();11 Transformer tf = factory.newTransformer();12 tf.transform(new DOMSource(doc), new StreamResult(new FileOutputStream(13 "xml/books.xml")));14 }
javaweb学习总结十一(JAX对XML文档进行DOM解析)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。