1.将xml局部转换成String流
public static String xmlToLiu(String path, String xmlPath) throws Exception {
SAXReader saxReader = new SAXReader();
Document document = saxReader.read(new File(path));
Map<String, String> xmlMap = new HashMap<String, String>();
xmlMap.put("e", "http://www.saac.gov.cn/standards/ERM/encapsulation");
// 在每个节点前面加上自定义命名空间前缀
XPath x = document.createXPath(xmlPath);
x.setNamespaceURIs(xmlMap);
Element e = (Element) x.selectSingleNode(document);
return e.asXML().replaceAll("\\s+", "");
}
2.使用dom4j后程式变得更简单
// 字符串转XML
String xmlStr = \"......\";
Document document = DocumentHelper.parseText(xmlStr);
// XML转字符串
Document document = ...;
String text = document.asXML();
这里的XML DOCUMENT为org.dom4j.Document
3.使用javaIO操作使文件都城流文件
// 把xml文件读成 字符流
public String xmlToLiu(String path) throws Exception {
File file = new File(path);
if (!file.exists() || file.isDirectory()) {
throw new FileNotFoundException();
}
// 以"GB2312"编码,解决中文乱码问题
InputStreamReader read = new InputStreamReader(
new FileInputStream(file), "GB2312");
BufferedReader br = new BufferedReader(read);
String temp = null;
StringBuffer sb = new StringBuffer();
temp = br.readLine();
while (temp != null) {
sb.append(temp + "\n");
temp = br.readLine();
}
br.close();
read.close();
return sb.toString();
}