Как написать & # 34; вместо & quot; в вывод XML с помощью XMLStreamWriter/IndentingXMLStreamWriter
Я пишу данные в XML-файлы, используя com.sun.xml.txw2.output.IndentingXMLStreamWriter:
OutputStream os = new FileOutputStream(pOutputFile);
XMLOutputFactory xmlof = XMLOutputFactory.newInstance();
XMLStreamWriter xsw = new IndentingXMLStreamWriter(xmlof.createXMLStreamWriter(os));
marshaller.setProperty(Marshaller.JAXB_ENCODING, "UTF-8");
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
marshaller.setProperty(Marshaller.JAXB_NO_NAMESPACE_SCHEMA_LOCATION,
translationXsdFile.getName());
marshaller.setSchema(schema);
marshaller.marshal(xmlObject, xsw);
xsw.close();
К сожалению, это приводит к тому, что кавычки "кодируются как:
& quot; (пробел добавлен, чтобы показать сущность здесь)
Я хотел бы, чтобы это было закодировано как
& #34; (пробел добавлен, чтобы показать сущность здесь)
в выходной файл xml, не анализируя его снова / заменяя вхождение
& quot; (пробел добавлен, чтобы показать сущность здесь)