Я работаю с Oracle.
Есть ли способ подсчета количества узлов (включая потомков) в файле XML с использованием PL / SQL?
Я хотел бы иметь возможностьчтобы сохранить результат как переменную для использования в качестве верхнего предела для итератора цикла.
У меня есть следующий xml, и я хочу посчитать количество узлов в узле строки:
<row>
<date name="date1" id="101"></date>
<element1 name="ele1" id="111">
<stuff></stuff>
<stuff></stuff>
<stuff></stuff>
</element1>
<element2 name="ele2" id="121"></element2>
<element3 name="ele3" id="131></element15>
</row>
Результат должен быть 7.
@ johnbk Я работаю с Oracle
Идея в том, что после того, как я получу количество узлов, я могу использовать его в:
nodeCount := 1;
FOR i IN 1 .. numNodes
LOOP
xpath1 := '/row/*[' || nodeCount || ']/@name';
SELECT EXTRACT(form_xml, xpath1) as other_name;
nodeCount := nodeCount +1;
END LOOP;
Спасибо за вашу помощь.