Я хочу хранить некоторые фрагменты файла XML в отдельных файлах.
Кажется, нет прямого способа сделать это:
Чтение кусков не удается.
Я всегда получаю исключение
"javax.xml.transform.TransformerException: org.xml.sax.SAXParseException: разметка в документе, следующем за корневым элементом, должна быть правильной."
Работает только тогда, когда есть только ОДИН «корневой» элемент (который не
корневой элемент в обычном смысле).
Я понимаю, что XML с несколькими «корнями» не является правильно сформированным,
но это следует рассматривать как кусок.
Пожалуйста, прежде чем предлагать какие-то обходные решения, скажите мне:
Действительно ли куски XML действительны?
И если так, могут ли они считываться с использованием стандартного API JDK6?
Тестовый код:
String testChunk1 = "<e1>text</e1>";
String testChunk2 = "<e1>text</e1><e2>text</e2>";
// the following doesn't work with 'testChunk2'
StringReader sr = new StringReader(testChunk1);
StringWriter sw = new StringWriter();
TransformerFactory.newInstance().newTransformer().transform(
new StreamSource(sr), new StreamResult(sw));
System.out.println(sw.toString());