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

时间:2024-01-02 09:18:32

首先给出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); } }

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