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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值