I am trying to get an org.jdom.Element as a string by using
org.jdom.XMLoutput(Element element,Writer writer) where the writer is a
StringWriter.
My problem is that the source elements with an attribute xml:lang="en-US" in
it are being streamed to my StringWriter as an element with plain
lang="en-US".
I checked the FAQ (http://jdom.org/docs/faq.html) and found that "The
xml:lang and xml:space attributes are special cases that are allowed..." but
it does not say how JDOM deals with them.
I want to the "xml:" included in my output.
Can I do this (eg by set some attribute on XMLOutputter)?
If I can how is it done?
If I can't then please let me know.
TIA (hopefully)
Vaughn Butt
Software Developer
PS. Here is the (rather ugly and slightly incomplete) code that I want to be
able to get this output from.
public class Migration {
public static void main(String[] args) {
org.w3c.dom.Document domDocument = methodThatReturnsADOMDocument();
org.jdom.Document doc = new DOMBuilder().build(domDocument);
System.out.println(element2String(doc.getRootElement());
}
private static String element2String(Element element) {
String retVal = null;
XMLOutputter outputter = new XMLOutputter(" ",true);
try {
StringWriter sw = new StringWriter();
outputter.output(element,sw);
retVal = sw.toString();
}
catch (IOException e) {
e.printStackTrace();
}
return retVal;
}
}