Java中可以使用javax.xml.transform.Transformer类来格式化XML字符串。下面是一个示例代码,展示了如何使用该类来格式化XML字符串:
`java
import javax.xml.transform.*;
import javax.xml.transform.stream.*;
import java.io.*;
public class XmlFormatter {
public static String formatXml(String xmlString) throws TransformerException {
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");
StreamSource source = new StreamSource(new StringReader(xmlString));
StringWriter writer = new StringWriter();
StreamResult result = new StreamResult(writer);
transformer.transform(source, result);
return writer.toString();
}
public static void main(String[] args) throws TransformerException {
String xmlString = "
String formattedXml = formatXml(xmlString);
System.out.println(formattedXml);
}
`
上述代码中的formatXml方法接受一个XML字符串作为参数,并返回格式化后的XML字符串。该方法使用了Transformer类来进行格式化,设置了输出属性INDENT为"yes",以及indent-amount为"2",这样输出的XML字符串就会进行缩进,每个元素占用两个空格的缩进。
在main方法中,我们提供了一个示例的XML字符串,并通过调用formatXml方法来格式化它。将格式化后的XML字符串打印输出。
你可以根据需要将上述代码集成到你的项目中,并根据实际情况传入需要格式化的XML字符串。