Я использую StAX Streaming Api в версии 1.2.0 из http://stax.codehaus.org/.
Когда я пытаюсь записать следующий XML-файл в файл, больше чем char не экранируется. Однако меньше, чем кажется, нет проблемы с побегом.
out = new FileOutputStream("foo.xml");
XMLOutputFactory factory = XMLOutputFactory.newInstance();
XMLStreamWriter writer = factory.createXMLStreamWriter(out);
writer.writeStartDocument();
writer.writeStartElement("foo");
writer.writeAttribute("test", "<foo>");
writer.writeEndElement();
writer.writeEndDocument();
writer.flush();
writer.close();
out.close();
Вывод (только релевантный) такой:
<foo test="<foo>"
Я также пытался использовать метод writeCharacters - с тем же результатом. Это ошибка или намерение? Есть ли обходной путь? (Замена> вручную на
replaceAll(">", ">");
приводит к тому, что '&' сбегает само.
Спасибо за любую помощь заранее.