Ich habe ein Problem beim Extrahieren des ersten Knotens aus einem bestimmten XML-Element in Oracle.Oracle XMLTYPE ersten Knoten extrahieren
Dies ist der XML:
<data type="TestData" version="1">
<MasterTable Name="TestMaster"/>
<Table Name="TestTable1">Test</Table>
<Table Name="TestTable2"/>
<Table Name="TestTable3"/>
<Table Name="TestTable4"/>
<Table Name="TestTable5"/>
<Table Name="TestTable6"/>
<Table Name="TestTable7"/>
<Table Name="TestTable8"/>
<Table Name="TestTable9"/>
<Table Name="TestTable10"/>
<Table Name="TestTable11"/>
<Table Name="TestTable12"/>
<Table Name="TestTable13"/>
<Table Name="TestTable14"/>
<Fact Name="TestFact1"/>
</data>
Ich versuche, den Wert des ersten Namenselement "TestTable1" und dem Text für das erste Element Name "Test" zu extrahieren.
Ich habe folgende Abfragen, die null gerade zurückkehr:
select a.xml.extract('//Name[1]') from my_table a; --Attempting to return "TestTable1" from Name attribute 1
select a.xml.extract('//Name[1]/text()') from my_table a; --Attempting to return the text "Test" from Name attribute 1
Vielen Dank für die Antwort! Zu dem, was ich tun wollte. t.x.extract ('// Table [@Name] [1]') gibt das gesamte Element z.
'@ Attribut_name' für den Zugriff auf den Wert im Attribut' // Tabelle [@Name] [1]/@ Name' –
Vielen Dank, alles funktioniert jetzt korrekt –