Ik heb een probleem met het schrijven van een XML bestand.
In mijn XML-bestand wil ik graag een entity als
Mijn XML-bestand heeft UTF-8 als encoding. Aangezien mijn bestand invoer is voor een andere applicatie, kan ik dat niet veranderen. Ik heb geen DTD in mijn bestand. Het moet well-formed zijn, maar het hoeft niet gevalideerd te worden. Het XML-bestand is een tussenstap, waarmee (als alles goed gaat) niemand in contact komt.
Ik wil een "org.dom4j.Document" schrijven. In dit object steekt wel degelijk
Hieronder de nuttige code:
Het resultaat is niet
Ik heb
geprobeerd, maar er verandert niks. In de API stond ook dat de ampersand niet kan ge-escapet worden. API: http://www.dom4j.org/apidocs/org/dom4j/io/XMLWriter.html
In mijn XML-bestand wil ik graag een entity als
code:
wegschrijven. (ë = ë)1
| "ë" |
Mijn XML-bestand heeft UTF-8 als encoding. Aangezien mijn bestand invoer is voor een andere applicatie, kan ik dat niet veranderen. Ik heb geen DTD in mijn bestand. Het moet well-formed zijn, maar het hoeft niet gevalideerd te worden. Het XML-bestand is een tussenstap, waarmee (als alles goed gaat) niemand in contact komt.
Ik wil een "org.dom4j.Document" schrijven. In dit object steekt wel degelijk
code:
.1
| "ë" |
Hieronder de nuttige code:
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| private void maakXML() { Document document = new Document(); // knip. document wordt aangemaakt OutputFormat format = OutputFormat.createPrettyPrint(); XMLWriter writer = null; try { writer = new XMLWriter(new StringWriter(), format ); writer.setEscapeText(false); writer.setResolveEntityRefs(false); writer.write( document ); } catch (UnsupportedEncodingException e) { // knip. } catch (IOException e) { // knip. } } |
Het resultaat is niet
code:
maar 1
| ë |
code:
. Mijn ampersand is dus vertaald naar 1
| ë |
code:
en dat wil ik dus niet ..1
| & |
Ik heb
Java:
1
| writer.setMaximumAllowedCharacter(-1) |
geprobeerd, maar er verandert niks. In de API stond ook dat de ampersand niet kan ge-escapet worden. API: http://www.dom4j.org/apidocs/org/dom4j/io/XMLWriter.html