1
我有這樣的XML:XML DOM。按名稱獲取元素的第一個孩子的水平
<root>
<element1>
<doc>2</doc>
</element1>
<doc>1</doc>
</root>
我想在根元素(值= 1)後的第一個孩子的水平得到元素。如果我這樣做,通過節點列表(XMLDOM API的PL/SQL版本):
nl := getElementsByTagName(rootnode,'doc');
len := xmldom.getLength(nl);
IF LEN>0 THEN
N:=xmldom.item(nl, 0);
END IF;
RETURN N;
在列表
第一個元素將與價值元素= 2。我怎麼會只處理過的第一個孩子的水平的子節點,而無需通過循環元素?
我看你使用LOOP,我要求避免。但我無法弄清楚,爲什麼在第一次迭代時得到結果(i = 0) – 2012-02-05 12:49:36
@AndreyKhataev:因爲'getchildrenbytagname'返回'domnodelist',因此我正在循環 - 列表中的節點數量可以是任何值。如果你真的想從列表中的第一個節點,你可以使用相同的技術比你的問題。 'getelementsbytagname'和'getchildrenbytagname'之間的區別在於第一個返回所有子元素('root/element1/doc'和'root/doc')的元素,但後者僅返回子元素('root/doc')。 – user272735 2012-02-10 13:58:43