我正在与 Oracle 合作。
有没有办法使用 PL/SQL 计算 XML 文件中的节点(包括后代)的数量?
我希望能够将结果保存为变量以用作循环迭代器的上限。
我有以下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>
Run Code Online (Sandbox Code Playgroud)
结果应该是 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;
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助。