0
這裏是一個xml:獲取節點內的單個節點值PLSQL
<root>
<error>
<description>
<code>I899</code>
</description>
<solution>
<code>AZE4</code>
</solution>
</error>
<error>
<description>
<code>I900</code>
</description>
</error>
</root>
這裏是代碼:
myParser := DBMS_XMLPARSER.newParser;
ficContent := DBMS_XSLPROCESSOR.Read2Clob(directoryPasrau, crmNomfilename , '0');
DBMS_XMLPARSER.parseBuffer(myParser,ficContent);
dom := DBMS_XMLPARSER.getDocument(myParser);
rootElement := DBMS_XMLDOM.getDocumentElement(dom);
nlErrors := DBMS_XSLPROCESSOR.selectNodes(DBMS_XMLDOM.makeNode(dom), '//' || rootName || '/error', 'xmlns:ns2="http://www.gip-mds.fr/"');
到這裏它是好的,我得到了2錯誤節點
FOR i IN 0 .. DBMS_XMLDOM.getLength(nlErrors) - 1 LOOP
tabBisInfosList.EXTEND;
tabBisInfosList(i+1).descriptionCode := TRIM(TRANSLATE(TRANSLATE(DBMS_XMLDOM.getNodeValue(DBMS_XSLPROCESSOR.selectSingleNode(DBMS_XMLDOM.Item(nlAnomalies, i), 'description/code')), chr(10), ' '), chr(9), ' '));
END LOOP;
tabBisInfosList(i + 1).descriptionCode中沒有任何內容。
相同的,如果我使用這些模式: 「/說明書/代碼」或「//描述/代碼」
你知道爲什麼嗎?
泰