0

SELECT query以下のように、RHEL ボックスで Oracle SQL 開発者 IDE から実行しています。

SELECT count(*) 
From xyz 
WHERE xmltype(xyz.xmlColumn).existsNode('//name=""') = 1;

単一のレコードに対して実行すると、上記のクエリは正常に機能します。しかし、テーブル全体に対して実行すると、次のエラーで失敗します。

ORA-31011: XML parsing failed
ORA-19202: Error occurred in XML processing
LPX-00210: expected '<' instead of 'C'
Error at line 1
ORA-06512: at "SYS.XMLTYPE", line 272
ORA-06512: at line 1
31011. 00000 -  "XML parsing failed"
*Cause:    XML parser returned an error while trying to parse the document.
*Action:   Check if the document to be parsed is valid.

上記のポインタは私を助けます。

4

3 に答える 3

1

include /text in your xpath. like select (COLUM_NAME).extract('//parentNode/chileNode/text()').getStringVal() as Colum_Name from TableName where UUID='Value'

于 2015-11-09T09:42:47.280 に答える
0

Oracle は、「xyz.xmlColumn」が有効な xml 列または型ではないことを訴えています。<element>....</element>フォーマットを期待します

于 2016-02-04T18:58:58.660 に答える