Как перебрать XML с использованием JavaScript при изменении документа?
Как я могу перебрать список узлов xml (tag="items") и, при этом, вставить новый узел в определенное место, в этом случае, когда изменяется значение chileNode (tag="rowNum")? Вот пример, показывающий мой ввод и мой желаемый результат:
Начиная xml:
<items>
<item>
<rowNum>1</rowNum>
<description>some text</description>
</item>
<item>
<rowNum>1</rowNum>
<description>some more text</description>
</item>
<item>
<rowNum>2</rowNum>
<description>some text</description>
</item>
</items>
Желаемый результат:
<items>
<item>
<rowNum>1</rowNum>
<description>some text</description>
</item>
<item>
<rowNum>1</rowNum>
<description>some more text</description>
</item>
<item>
<rowNum>1</rowNum>
<description>last row 1 item</description>
</item>
<item>
<rowNum>2</rowNum>
<description>some text</description>
</item>
<item>
<rowNum>2</rowNum>
<description>last row 2 item</description>
</item>
</items>
1 ответ
Решение
- создать переменную для rownum с начальным значением, например, -1
- переберите элемент-элемент, но начните с конца
- проверьте, отличается ли значение переменной от содержимого элемента rowNum. Если да, присвойте значение переменной содержимому элемента rowNum и вставьте новый узел перед элементом nextSibling текущего элемента item