Wählen Sie xml-element mit dem Wert in Oracle

Ich versuche zu extrahieren eines Werts aus einem xml-element, das sich in einem XMLTYPE-Spalte in einer Oracle-Tabelle. Das xml-element, das ich bin versucht zu extrahieren, haben einen Elternteil, für die ein namespace definiert ist.
Die xml sieht so aus:

<a>
  <b xmlns="urn:www.someSite.com/myModel">
    <c>my value</c>
  </b>
</a>

Wenn ich will, zu extrahieren Sie den Inhalt der "ein" element der Kontext korrekt zurückgegeben:

SELECT Extract(myColumn, '/a') FROM myTable;

Aber für die Rücksendung der Inhalt der "c" - element, es gelang mir nicht zu finden, jede version zu arbeiten. Die folgende Anleitung funktioniert nicht:

SELECT Extract(myColumn, '/a/b/c') FROM myTable;

SELECT Extract(myColumn, '/a/b/c', 'xmlns="urn:www.someSite.com/myModel"') FROM myTable;

SELECT Extract(myColumn, '/a/b/c', 'urn:www.someSite.com/myModel') FROM myTable;

Kann jemand mir helfen, mit der extract-Anweisung, die arbeiten würden in diesem Fall?

InformationsquelleAutor axl g | 2012-04-02

Schreibe einen Kommentar