Как написать & # 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; (пробел добавлен, чтобы показать сущность здесь)

0 ответов

Другие вопросы по тегам