我正在寻找Java Swing组件,它会自动格式化我凌乱的XML(在一行中,参见示例):
<person><name>Joe</name><surname>Black</surname></person>
等。等
看起来像十亿行很长的行不是很好:)我希望有一些组件,那将为我做肮脏的工作。 Thankx
修改 我从数据库中获取XML输入为纯字符串,因此我没有真正的XML文档:(
答案 0 :(得分:5)
您无需依赖Swing组件进行格式化。您可以尝试非常打印XML并直接在组件中设置格式化输出。这是asked before。
答案 1 :(得分:0)
建议您使用基于Java的DOM。我们使用XOM(在这种情况下使用serializer())来获取文本字符串中所需的格式,然后重新绘制组件。
另见How to pretty print XML from Java?
中的示例将字符串解析为DOM。例如:
Document doc = new Builder().build(new StringReader(yourXML));
使用outputStream
os = new ByteArrayOutputStream();
然后使用序列化程序生成文本:
Serializer serializer = new Serializer(os);
serializer.setTheFormatYouWant(... several options in the class ...);
serializer.output(doc);
然后
os.toString();