[jdom-interest] Small but irritating problem
Jan-Olof Hendig
jan-olof.hendig at bredband.net
Mon Oct 25 12:28:50 PDT 2004
Hello folks,
Just to get it over with, I'm an XML newbie so keep the flame throwers away for a while please.
Today I upgraded from JDOM beta 9 to the current release. As they say, better late than never :) My code needed very few changes in order to compile, the constructor for XMLOutputter had changed but that was easy to fix. However when running the code, see below, a small incompatibility surfaced.
with beta 9 the code below produced the following
<?xml version="1.0" encoding="UTF-8"?>
<message>
<request>
<onlyreturnoutdata>0</onlyreturnoutdata>
</request>
</message>
however with the current release I got
<?xml version="1.0" encoding="UTF-8"?>
<message xmlns:="">
<request>
<onlyreturnoutdata>0</onlyreturnoutdata>
</request>
</message>
as you can see the line containing the <message> tag suddenly includes the attribute 'xmlns:=""'
My question is this, how do I get rid of this xmlns attribute so that the message looks exactly like it did in beta 9?
Regards
Jan-Olof Hendig
/* --------------------- */
public class TestCase {
protected static Document document;
protected static Element rootElement;
public static void main(String[] args) {
rootElement = new Element("message");
Element requestElement = new Element("request");
Element onlyReturnOutDataElement = new Element("onlyreturnoutdata");
onlyReturnOutDataElement.addContent("0");
requestElement.addContent(onlyReturnOutDataElement);
rootElement.addContent(requestElement);
document = new Document(rootElement);
System.out.println(documentToString(document, true));
}
public static String documentToString(Document doc, boolean fIndent) {
JDOMSource domSource = new JDOMSource(doc);
StringWriter stringWriter = new StringWriter();
StreamResult result = new StreamResult(stringWriter);
TransformerFactory tFactory = TransformerFactory.newInstance();
try {
Transformer transformer = tFactory.newTransformer();
if (fIndent) {
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "3");
}
else
transformer.setOutputProperty(OutputKeys.INDENT, "no");
transformer.transform(domSource, result);
}
catch (Exception e) {
System.out.println(e);
}
return stringWriter.toString();
}
}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.jdom.org/pipermail/jdom-interest/attachments/20041025/b1ffb1bd/attachment.htm
More information about the jdom-interest
mailing list