问题
I use XMLOutputter to write xml file to use it then in android. When the file is written, string
<string name="sname"><u>Text</u></string>
is written as
<string name="sname"><u>Text<u></string>
I read "<u>Text<u>" from database and then put it into jdom Document. Then I write the document using
XMLOutputter outputter = new XMLOutputter(Format.getPrettyFormat());
Writer writer = new OutputStreamWriter(new FileOutputStream(file), "utf-8");
outputter.output(doc, writer);
writer.close();
How can I prevent escaping and put the exact string from database to file? (I want to have '<', not <
there)
回答1:
You should be able to prevent escaping by:
Extending
XMLOutputer
and overridingescapeElementEntities
methodXMLOutputter outputter = new XMLOutputter(Format.getPrettyFormat()) { @Override public String escapeElementEntities(String str) { return str; } }; Writer writer = new OutputStreamWriter(new FileOutputStream(file), "utf-8"); outputter.output(doc, writer); writer.close();
I found this here
- Setting custom
EscapeStrategy
on theFormat
to prevent escaping certain characters
Either way you should be careful to produce a valid XML.
Hope this helps.
来源:https://stackoverflow.com/questions/15359198/how-to-disable-escaping-using-xmloutputter