Java 使用jaxp修改节点
2016-12-12 11:37 甘雨路 阅读(262) 评论(0) 编辑 收藏 举报<?xml version="1.0" encoding="UTF-8" standalone="no"?> <person> <p1> <name>jobs</name> <age>56</age> <sex>female</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 { modifySex(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } public static void modifySex() 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); //修改sex内容 sex.setTextContent("male"); // 回写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> <sex>male</sex> </p1> <p1> <name>Alis</name> <age>32</age> </p1> </person>