Java 使用jaxp删除节点
2016-12-12 11:43 甘雨路 阅读(192) 评论(0) 编辑 收藏 举报<?xml version="1.0" encoding="UTF-8" standalone="no"?> <person> <p1> <name>jobs</name> <age>56</age> <sex>male</sex> </p1> <p1> <name>Alis</name> <age>32</age> </p1> </person>
package jaxp; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerFactory; 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; public class TestJaxp { public static void main(String[] args) { try { deleteSex(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static void deleteSex() throws Exception{ //创建解析器工厂 DocumentBuilderFactory builderFactory = DocumentBuilderFactory.newInstance(); //创建解析器 DocumentBuilder builder = builderFactory.newDocumentBuilder(); //解析xml返回document Document document = document = builder.parse("src/person.xml"); // 得到sex Node sex = document.getElementsByTagName("sex").item(0); //得到父节点 Node p1 = sex.getParentNode(); //删除子节点 p1.removeChild(sex); // 回写xml TransformerFactory transformerFactory = TransformerFactory.newInstance(); Transformer transformer = transformerFactory.newTransformer(); transformer.transform(new DOMSource(document), new StreamResult("src/person.xml")); } }
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <person> <p1> <name>jobs</name> <age>56</age> </p1> <p1> <name>Alis</name> <age>32</age> </p1> </person>