根据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 m\u00E1s amplia la \u00E1rea de recepci\u00F3n Comentarios sobre la relaci\u00F3n con el taller de servicio autorizado:Creo que este cuestionario empieza a ser tedioso|Deber\u00EDan hacer menos preguntas \uD83D\uDE10 Detalles de los aspectos que le gustaron en la \u00FAltima visita:La atenci\u00F3n del personal Detalles de los aspectos que le desagradaron en la \u00FAltima visita:Que labora m\u00E1s personal masculino|Pareciera que hay desigualdad de g\u00E9neros 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文件的内容,完了之后写回到文件中。

posted @ 2016-06-21 17:38  凫.鸳  阅读(1438)  评论(0编辑  收藏  举报