把String按照xml的格式打印

把XML文件打印的好看容易,用document.asXML()就可以了, 今天我需要把一个String按照xml的格式打印出来,当然,前提是这个String字符串本来也是xml格式的。

用的是dom4j里的DocumentHelper类来处理,很简单

public String prettyPrint(final String xml) {
		if (StringUtils.isBlank(xml)) {
			throw new RuntimeException("xml was null or blank in prettyPrint()");
		}
		final StringWriter sw;
		try {
			final OutputFormat format = OutputFormat.createPrettyPrint();
			final org.dom4j.Document document = DocumentHelper.parseText(xml);
			sw = new StringWriter();
			final XMLWriter writer = new XMLWriter(sw, format);
			writer.write(document);
		} catch (Exception e) {
			throw new RuntimeException("Error pretty printing xml:\n" + xml, e);
		}
		return sw.toString();
	}

你可能感兴趣的:(String)