Это мой метод для анализа XML в CSV
использование dom4j v2
зависимость maven:
<!-- https://mvnrepository.com/artifact/org.dom4j/dom4j -->
<dependency>
<groupId>org.dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>2.1.1</version>
</dependency>
Я не нашел ни здесь, ни на другихсайты этот простой скрипт:
public class XMLtoCSV {
public InputStream xml (InputStream inputStream) throws IOException,
ParserConfigurationException, DocumentException{
StringBuffer data = new StringBuffer();
boolean headControl =false;
SAXReader reader = new SAXReader();
Document doc= reader.read(inputStream);
Element root = doc.getRootElement();
// iterate through child elements of root
for (Iterator<Element> it = root.elementIterator(); it.hasNext();) {
Element element = it.next();
List <Element> ele = element.elements();
if (!headControl) {
for (Element head :ele) {
//get header
data.append(head.getQName().getName()+ "|");
}
data.append('\n');
headControl=true;
}
for(Element el: ele) {
//get content
data.append(el.getText()+ "|");
}
data.append('\n');
}
return new ByteArrayInputStream(data.toString().getBytes());
}
}