首页 > 代码库 > 替换xml中某些特定的elements
替换xml中某些特定的elements
替换xml中某些node, 如<name>zhangsan</name>想替换成<name>lisi</name>:
package strip;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.util.Properties;public class StripXMLElements { public static void main(String[] args) { String oldfilename = args[0]; String newfilename = args[1]; String propertyfile = args[2]; Properties prop = new Properties(); try { FileInputStream fis = new FileInputStream(propertyfile); prop.load(fis); String elements = prop.getProperty("STRIP_ELEMENTS"); if ((elements != null) && (!elements.equals(""))) { stripElements(oldfilename, elements, newfilename); } } catch (Exception e) { e.printStackTrace(); } } public static void stripElements(String oldFile, String stripElements, String newFile) throws IOException { String start = null; String end = null; int startIndex; int endIndex; String line = null; BufferedReader br = null; FileReader fr = null; FileWriter fw = null; BufferedWriter bw = null; String[] strs = stripElements.split(";"); File file = new File(oldFile); try { fr = new FileReader(file); br = new BufferedReader(fr); } catch (FileNotFoundException e1) { e1.printStackTrace(); } if (!file.exists()) { try { throw new FileNotFoundException(); } catch (FileNotFoundException e) { e.printStackTrace(); } } else { fw = new FileWriter(newFile, true); bw = new BufferedWriter(fw); while ((line = br.readLine()) != null) { for (String str : strs) { start = "<" + str + ">"; end = "</" + str + ">"; if (line.contains(start) && line.contains(end)) { startIndex = line.indexOf(start) + start.length(); endIndex = line.indexOf(end); line = line .replace(line.substring(startIndex, endIndex), "STRIPED"); bw.write(line); bw.newLine(); bw.flush(); line = br.readLine(); for (String s : strs) { String starts = "<" + s + ">"; String ends = "</" + s + ">"; if (line.contains(starts) && line.contains(ends)) { int startIndexs = line.indexOf(starts) + start.length(); int endIndexs = line.indexOf(ends); line = line.replace( line.substring(startIndexs, endIndexs), "STRIPED"); } } break; } } bw.write(line); bw.newLine(); bw.flush(); } } bw.flush(); bw.close(); br.close(); fw.close(); fr.close(); }}
没有使用dom4j,JDOM等,使用的是流编辑。
替换xml中某些特定的elements
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。