import java.io.File;

import java.io.IOException;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.TransformerFactoryConfigurationError;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.w3c.dom.Text;
import org.xml.sax.SAXException;

public class RemoveNodeTest {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
DocumentBuilderFactory factory= DocumentBuilderFactory.newInstance();
DocumentBuilder builder;
try {
builder = factory.newDocumentBuilder();
Document doc=builder.parse(RemoveNodeTest.class.getResourceAsStream("student.xml"));
Element studentElenent=doc.createElement("student");
studentElenent.setAttribute("id", "jredu003");
Element name=doc.createElement("name");
Text nameValue=doc.createTextNode("xiaohuang");
name.appendChild(nameValue);
Element age=doc.createElement("age");
Text ageValue=doc.createTextNode("20");
age.appendChild(ageValue);
studentElenent.appendChild(name);
studentElenent.appendChild(age);
Element root = doc.getDocumentElement();
NodeList studentNodes = root.getChildNodes();
NodeList haha=root.getElementsByTagName("name");
for (int i = 0; i < studentNodes.getLength(); i++) {
Node node = studentNodes.item(i); // 因为空格也算是元素,所以要处理,不输出空格元素
Node node1=haha.item(i);
if (node.getNodeType() == Node.ELEMENT_NODE) {
String id = node.getAttributes().getNamedItem("id")
.getNodeValue();
/* if(id.equals("003")){
doc.getDocumentElement().replaceChild(studentElenent, node); //修改
doc.getDocumentElement().removeChild(node); //删除
}*/
//删除中间的结点方式相同
System.out.println(id);
NodeList childs = node.getChildNodes();

for (int j = 0; j < childs.getLength(); j++) {
Node nodee = childs.item(j);
if (nodee.getNodeType() == Node.ELEMENT_NODE) {
String Aname = nodee.getFirstChild().getNodeValue();
if(Aname.equals("张三")){
nodee.setTextContent("hahah");
nodee.getParentNode().removeChild(nodee); //删除单个中间结点的方法
} //修改中间值的方法
System.out.println(Aname);
} else if (nodee.getNodeName().equals("age")) {
String Aage = nodee.getFirstChild().getNodeValue();
System.out.println(Aage);
}
}

}
}

Transformer transformer=TransformerFactory.newInstance().newTransformer();
transformer.transform(new DOMSource(doc),
new StreamResult(new File("c:\\a.xml")));

} catch (ParserConfigurationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SAXException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (TransformerConfigurationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (TransformerFactoryConfigurationError e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (TransformerException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

}

最新文章

  1. 【学习篇:他山之石,把玉攻】Ajax请求安全性讨论
  2. 配置SVN、GIT总结
  3. supersocket+controller+action
  4. Microsoft Visual C++ 2010(86) Redistributable不能安装完美解决
  5. svn 被锁定
  6. 【KMP】Number Sequence
  7. PAT (Basic Level) Practise (中文) 1017. A除以B (20)
  8. JSON数据格式转换
  9. Gulp实战
  10. awk骚操作
  11. Windows服务一直“正在启动”怎么杀
  12. 将web项目导入到eclipse中常见错误
  13. properties中的编码如何生成:例如\u7AD9\u70B9这种。
  14. 大数据权限管理工具 Apache Ranger 初识
  15. 2018.12.05 codeforces 948C. Producing Snow(堆)
  16. apache,R,P,url重写,伪静态,反向代理
  17. mysql 筛选重复项(单列或者多列同时重复)
  18. Linux禁用root账户ssh登录
  19. django 模板使用静态文件
  20. 使用RAID与LVM磁盘阵列技术。

热门文章

  1. PostgreSQL 磁盘使用大小监控
  2. Ajax跨域的几种方法以及每种方法的原理
  3. php json 格式化
  4. 总结Android中遇见的OOM
  5. Android系统调用
  6. django中文配置的问题
  7. 数据采集实践学习二(C#)
  8. Linux部署Apache ActiveMQ 5.14.1
  9. java连接mysql步骤
  10. 将形如:Oct 8, 2016 5:29:44 PM串转换成正常时间在真机上遇到的坑