Weiß jemand, wie die Werte von <ZIPCODE>
abzurufen und <CITY>
mit PL/SQL? Ich habe ein Tutorial über das Netz verfolgt, aber es kann die Elementnamen abrufen, aber nicht ihre Werte. Jeder von euch weiß, was das Problem zu sein scheint? Ich habe bereits angehört Google (das gut gehütete Geheimnis Internet) über das aber kein Glück :(in Oracle PL SQL
<Zipcodes>
<mappings Record="4">
<STATE_ABBREVIATION>CA</STATE_ABBREVIATION>
<ZIPCODE>94301</ZIPCODE>
<CITY>Palo Alto</CITY>
</mappings>
</Zipcodes>
hier ist der Beispielcode:
-- 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;
Ich ziehe XMLType zu verwenden und die Extract-Funktion verwenden, um sie über XPath zu bekommen. z.B. 'myxml.Extract ('/ Zipcodes/mappings/ZIPCODE/text()');' - muss einfacher als das DOM gehen. –