Как добавить узел в существующий документ XML - PullRequest
1 голос
/ 14 июля 2010

Я использую stax для разбора моего документа, вот фиктивный пример моего XML-документа:

<data>

<video>
  <title lang="eng">Harry Potter</title>
  <price>29.99</price>
</video>

<book id="1">
  <title lang="eng">Learning XML</title>
  <price>39.95</price>
</book>

<book id="n">
  <title lang="eng">Learning XML</title>
  <price>39.95</price>
</book>

//insert new node here

</data>

Как я могу вставить узел после n-й книги (где n - любое число).Спасибо

1 Ответ

0 голосов
/ 14 июля 2010

Украсьте свой XMLEventReader с завода с помощью собственной реализации, обеспечивающей ваши собственные события в соответствующее время. Вы можете расширить EventReaderDelegate , чтобы сделать это. Вы поставили бы в очередь события, которые хотите вставить, посчитали прочитанные элементы и предоставили их в нужное время.

Если вы используете XMLStreamReader , применяется тот же принцип, но есть еще несколько методов, о которых нужно позаботиться.

...