Oracle内のXMLの特定の要素から最初のノードを抽出する際に問題があります。Oracle XMLTYPE最初のノードを抽出します
これは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>
私が最初に名前要素「TestTable1」と最初Name要素「テスト」のためのテキストの値を抽出しようとしています。
私はヌルを返している次のクエリがあります:最初の 'テーブル'
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
ありがとう!私がしたいことに向かって。 t.x.extract( '// Table [@Name] [1]')は要素全体を返します。
'は、すべてが正しく働いて、どうもありがとうございました –
@ [@Name]属性 '//表の値にアクセスするためのAttribute_name' @ –