XML VTD для разделения XML на основе значения атрибута - PullRequest
0 голосов
/ 28 сентября 2018

У меня есть xml-код с вложенными тегами.

<content level="2">
  <data>abc</data>
  <content level="3">test3</content>
  <content level="2">test2</content>
  <content level="4">test4</content>
</content>

Независимо от родительских / дочерних тегов, я хочу разделить xml на основе значения атрибута.т.е. я хочу XML от уровня 2 до следующего уровня 2 в качестве одного чанка, а оставшиеся дочерние теги в качестве другого чанка.мой вывод должен быть что-то вроде ниже.Возможно ли это?

<content level="2">
  <data>abc</data>
  <content level="3">test3</content> -- is one chunk

и

 <content level="2">test2</content>
  <content level="4">test4</content>  -- is another chunk

Я пробовал XPATH с [@ level = 2], но, к сожалению, для первого блока он дает общий xml, поскольку родительский тег содержит весь контент, ноЯ не хочу этого, я хотел бы извлечь только уровень на уровень.

Я также пытался с vtdnav.getContentFragment, используя смещение и длину, и это все тот же случай, когда я получаю весь XML как один кусок.

...