有誰知道如何使用PL/SQL檢索<ZIPCODE>
和<CITY>
的值嗎?我通過網絡學習了一個教程,但是,它可以檢索元素名稱,但不能檢索它們的值。你們誰都知道似乎是什麼問題?我已經諮詢了谷歌(互聯網的保存完好的祕密),在這一點,但沒有運氣:(檢索Oracle PL中xml元素的值SQL
<Zipcodes>
<mappings Record="4">
<STATE_ABBREVIATION>CA</STATE_ABBREVIATION>
<ZIPCODE>94301</ZIPCODE>
<CITY>Palo Alto</CITY>
</mappings>
</Zipcodes>
這裏的示例代碼:
-- prints elements in a document
PROCEDURE printElements(doc DBMS_XMLDOM.DOMDocument) IS
nl DBMS_XMLDOM.DOMNodeList;
n DBMS_XMLDOM.DOMNode;
len number;
BEGIN
-- get all elements
nl := DBMS_XMLDOM.getElementsByTagName(doc, '*');
len := DBMS_XMLDOM.getLength(nl);
-- loop through elements
FOR i IN 0 .. len - 1 LOOP
n := DBMS_XMLDOM.item(nl, i);
testr := DBMS_XMLDOM.getNodeName(n) || ' ' || DBMS_XMLDOM.getNodeValue(n);
DBMS_OUTPUT.PUT_LINE (testr);
END LOOP;
DBMS_OUTPUT.PUT_LINE ('');
END printElements;
我個人更喜歡使用XMLType並使用Extract函數通過XPath獲取它們。例如`myxml.Extract('/ Zipcodes/mappings/ZIPCODE/text()');` - 必須比走DOM更簡單。 – 2012-02-08 06:22:28