All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.openfuxml.addon.wiki.util.JdomXmlStreamer Maven / Gradle / Ivy

The newest version!
package org.openfuxml.addon.wiki.util;

import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamWriter;

import org.jdom2.Attribute;
import org.jdom2.Element;
import org.jdom2.Text;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class JdomXmlStreamer
{	
	final static Logger logger = LoggerFactory.getLogger(JdomXmlStreamer.class);
	
	private XMLStreamWriter writer;
	
	public JdomXmlStreamer(XMLStreamWriter writer)
	{
		this.writer=writer;
	}
	
	public void write(Element rootElement) throws XMLStreamException
	{
		writer.writeStartElement(rootElement.getName());
		for(Object o : rootElement.getAttributes())
		{
			Attribute a = (Attribute)o;
			writer.writeAttribute(a.getName(), a.getValue());
		}
		for(Object o : rootElement.getContent())
		{
			if(org.jdom2.Text.class.isInstance(o))
			{
				Text txt = (Text)o;
				writer.writeCharacters(txt.getText());
			}
			else if(org.jdom2.Element.class.isInstance(o))
			{
				Element child = (Element)o;
				write(child);
			}
			else {logger.warn("Unknown content: "+o.getClass().getName());}
		}
		writer.writeEndElement();
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy