Я хотел бы использовать XMLStreamReader для чтения XML-файла, содержащего ASCII-коды с горизонтальной вкладкой 	
, например:
<tag>foo	bar</tag>
и распечатывать или записывать его обратнов другой XML-файл.
Google говорит мне установить javax.xml.stream.isCoalescing
в true
в XMLInputFactory
, но мой тестовый код ниже не работает должным образом.
public static void main(String[] args) throws IOException, XMLStreamException {
XMLInputFactory factory = XMLInputFactory.newInstance();
factory.setProperty(factory.IS_COALESCING, true);
System.out.println("IS_COALESCING supported ? " + factory.isPropertySupported(factory.IS_COALESCING));
System.out.println("factory IS_COALESCING value is " +factory.getProperty(factory.IS_COALESCING));
String rawString = "<tag>foo	bar</tag>";
XMLStreamReader reader = factory.createXMLStreamReader(new StringReader(rawString));
System.out.println("reader IS_COALESCING value is " +reader.getProperty(factory.IS_COALESCING));
PrintWriter pw = new PrintWriter(System.out, true);
while (reader.hasNext())
{
reader.next();
pw.print(reader.getEventType());
if (reader.hasText())
pw.append(' ').append(reader.getText());
pw.println();
}
}
Выводэто
IS_COALESCING supported ? true
factory IS_COALESCING value is true
reader IS_COALESCING value is true
1
4 foo bar
2
8
Но я хочу сохранить ту же горизонтальную вкладку, как:
IS_COALESCING supported ? true
factory IS_COALESCING value is true
reader IS_COALESCING value is true
1
4 foo	bar
2
8
Что мне здесь не хватает? спасибо