|
|
|
новичок
      
участник
Last Login: 11.09.2007 15:58
Сообщ.: 5,
Visits: 29
|
|
| Имеем в переменной l_clob - текст в xml структуре. Нужно подсчитать кол-во нод (l_nodecnt) по такому пути: /header/filename 1. Если делать через XMLDOM: l_doc dbms_xmldom .DOMDocument;l_nodelst bms_xmldom.DOMNodeList; l_doc := dbms_xmldom.newDOMDocument(l_clob); l_nodelst := dbms_xmldom.getElementsByTagName(dbms_xmldom.getDocumentElement(doc), '/header/filename') l_nodecnt := dbms_xmldom.getLength(l_nodelst) ; 2. А можно ли выполнить подсчет используя xpath в цикле? Ловя исключение на несуществующей ноде? for i in 0..N loop begin select xmltype(l_clob).extract('//header['||to_char(i)||']/filename/text()').getStringVal() from dual; exception when ..... end; end loop;
Проблема в том, что любая ф-ция типа extract - возвращает пусто при несуществующей ноде. Есть ли альтернатива этому?
|
|
|
|