如何删除由开始/结束文档方法添加的 StaxEventItemWriter 标签?
它是在我生成XML文件时默认添加的,所以任何人都可以告诉我如何删除默认根标签。
Ex-
<?xml version='1.0' encoding='UTF-8'?>
<root>
<ressourcespleiade date="2015-10-03 06:38:00.000">
---
---
</..>
我结束了这样的事情:
/**
* {@link StaxEventItemWriter} which write no root tag as written elements are root
* @param <T> Type of the written elements
*
* @author francois.dupire
*/
public class NoRootStaxEventItemWriter<T> extends StaxEventItemWriter<T> {
/*
* Methods
*/
@Override
protected void startDocument(XMLEventWriter writer) throws XMLStreamException {
XMLEventFactory factory = createXmlEventFactory();
// write start document
writer.add(factory.createStartDocument(getEncoding(), getVersion()));
}
@Override
protected void endDocument(XMLEventWriter writer) { }
}
IMO,这不是很干净,但也不是很糟糕。这样,您就可以依赖 StaxEventItemWriter 类的每个机制,但不编写根元素。