所以问题几乎如标题所述。我正在做一些 xml 工作并使用 XMLEventWriter。我遇到的大问题是我需要创建一些自关闭标签
问题是我还没有找到使用 eventWriter 执行此操作的方法。我已经尝试了所有我能想到的使用 XMLEventFactory 但似乎没有任何效果。任何帮助将不胜感激。
我不确定使用 XMLEventWriter 是否可以实现这一点。使用 XMLStreamWriter 当然可以。
如果您无法使用 XMLEventWriter,您可以随后转换数据。
Reader xml = new StringReader("<?xml version=\"1.0\"?><foo></foo>");
TransformerFactory transFactory = TransformerFactory.newInstance();
Transformer transformer = transFactory.newTransformer();
transformer.transform(new StreamSource(xml),
new StreamResult(System.out));
上述代码的输出为:
<?xml version="1.0" encoding="UTF-8"?><foo/>
StreamWriter 的问题是它改变了属性顺序!这对我来说是不可接受的。那么解决方案是使用 XMLStreamWriter 吗?这是在原始标签中未完成的情况下始终添加结束标签。所以这是一个问题。