XML转换String

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();
	}

 

你可能感兴趣的:(xml)