Как мне использовать XMLStreamWriter, чтобы написать именно то, что я вставил? Например, если я создаю тег сценария и заполняю его JavaScript, я не хочу, чтобы все мои одинарные кавычки отображались как & apos;
Вот небольшой тест, который я написал, в котором не используются никакие абстракции, которые у меня есть, только вызовы writeCharacters.
public void testWriteCharacters() {
StringWriter sw = new StringWriter();
XMLOutputFactory factory = XMLOutputFactory.newInstance();
StringBuffer out = new StringBuffer();
try {
XMLStreamWriter writer = factory.createXMLStreamWriter(sw);
writer.writeStartElement("script");
writer.writeAttribute("type","text/javascript");
writer.writeCharacters("function hw(){ \n"+
"\t alert('hello world');\n" +
"}\n");
writer.writeEndElement();
out.append(sw);
} catch (XMLStreamException e) {
} finally {
try {
sw.close();
} catch(IOException e) {
e.printStackTrace();
}
}
System.out.println(out.toString());
}
Это создает сущность апос для обеих одинарных кавычек, окружающих привет мир.