StaxMate: доступ к простому XML
Я получил следующий (на самом деле огромный) XML для обработки:
<root>
<item attr="hello world">
<subitem></subitem>
<subitem></subitem>
<subitem></subitem>
<subitem></subitem>
</item>
<item attr="hello world">
<subitem></subitem>
<subitem></subitem>
<subitem></subitem>
<subitem></subitem>
</item>
.
.
.
</root>
С StaxMate это довольно просто. Но как же я скажу StaxMate "записать", например, простой XML для каждого элемента (см. XML выше). Так что после обработки предмета я выполнил на нем обработку + у меня есть строка
<item attr="hello world">
<subitem></subitem>
<subitem></subitem>
<subitem></subitem>
<subitem></subitem>
</item>
где-то.
Большое спасибо, Фабиан
1 ответ
Вам нужно написать записи; XMLStreamWriter2 имеет хороший метод, XMLStreamWriter2.copyEventFromReader(...)
который может быть использован для создания точной копии токена.
Но почему ты создаешь String
вообще? Разве не имеет смысла либо напрямую писать фрагменты XML, либо обрабатывать их? Строки неэффективны для использования с XML; занимают память, должны быть закодированы при записи, проанализированы, когда они содержат XML. Итак, единственная причина, по которой это нужно сделать, - это если они должны быть переданы как строки в другую библиотеку