【发布时间】:2011-11-07 16:20:45
【问题描述】:
我正在与 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>
结果应该是 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;
感谢您的帮助。
【问题讨论】:
-
您正在处理哪个数据库?
-
@johnbk 我正在使用 Oracle