zoukankan      html  css  js  c++  java
  • Java 使用jaxp修改节点

    <?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>
  • 相关阅读:
    LOJ6274 数字
    test20200415 看门人 和 WC2010 重建计划
    TJOI2018 Party 和 HDU4352 XHXJ's LIS
    LOJ3228 Tree Depth
    AGC026D Histogram Coloring
    LOJ3277 星座 和 BZOJ2616 PERIODNI
    LOJ2331 某位歌姬的故事 和 CF1327F AND Segments
    AGC024F Simple Subsequence Problem
    LOJ3278 收获
    LOJ3282 治疗计划
  • 原文地址:https://www.cnblogs.com/lantu1989/p/6163845.html
Copyright © 2011-2022 走看看