根据XPATH去查看修改xml文件节点的内容

首先给出xml文件解析的路径,然后去读取节点的内容。

package com.inetpsa.eqc.threads;

import java.util.List;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Iterator;

import javax.xml.parsers.ParserConfigurationException;

import org.apache.commons.lang.StringEscapeUtils;
import org.apache.commons.lang.StringUtils;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.Document;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;

public class TestFile {

    public static void main(String[] args) throws SAXException, IOException, DocumentException {
        // TODO Auto-generated method stub
        SAXReader reader = new SAXReader();

        org.dom4j.Document verbatimDoc = reader
                    .read(new File("C:\Users\E468264\Desktop\11\AP_MX_APV_201605_NETEQC_verbatim - Copy.xml"));
         List list = verbatimDoc.selectNodes("/ENVELOPPE/BODY/INTERVIEW_LIST/INTERVIEW/VERBATIM_LIST/VERBATIM");
        Iterator it =  list.iterator();
        while(it.hasNext()){
            Element    verbatimElement = (Element)it.next();
            System.out.println(verbatimElement.getTextTrim());
            System.out.println(StringUtils.escape(verbatimElement.getTextTrim()));

            verbatimElement.setText(StringEscapeUtils.escapeJava(verbatimElement.getTextTrim()));


        }
        try{
            OutputFormat format = OutputFormat.createPrettyPrint();
            XMLWriter writer = new XMLWriter(new FileWriter(new File("C:\Users\E468264\Desktop\11\AP_MX_APV_201605_NETEQC_verbatim.xml")),format);

            writer.write(verbatimDoc);
            writer.close();
        } catch(Exception e){
            e.printStackTrace();
        }

//        String s= "Sugerencias / Observaciones sobre el aspecto general del taller:Que fuese mu00E1s amplia la u00E1rea de recepciu00F3n Comentarios sobre la relaciu00F3n con el taller de servicio autorizado:Creo que este cuestionario empieza a ser tedioso|Deberu00EDan hacer menos preguntas uD83DuDE10 Detalles de los aspectos que le gustaron en la u00FAltima visita:La atenciu00F3n del personal Detalles de los aspectos que le desagradaron en la u00FAltima visita:Que labora mu00E1s personal masculino|Pareciera que hay desigualdad de gu00E9neros en la empresa";
//        System.out.println(s.replaceAll ("/(\\u/w{4})", ""));
////        System.out.println(s.replaceAll("/[u0001-uFFFF]",""));
//
//        String [] aa = s.split("\");
//        System.out.println(aa.length);


    }

}
View Code


通过setText方法去改写xml文件的内容,完了之后写回到文件中。

原文地址:https://www.cnblogs.com/niceofday/p/5604445.html