如何删除由开始/结束Document方法添加的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) { }
}
海事组织,这不是很干净,但也不是很糟糕。这样,您可以依靠StaxEventItemWriter类的每种机制,而无需编写根元素。