首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >XML分析在SELECT查询中失败

XML分析在SELECT查询中失败
EN

Stack Overflow用户
提问于 2013-07-02 12:15:24
回答 3查看 6.6K关注 0票数 0

我在RHEL机器上从Oracle SQL developer IDE运行SELECT query,如下所示

代码语言:javascript
运行
复制
SELECT count(*) 
From xyz 
WHERE xmltype(xyz.xmlColumn).existsNode('//name=""') = 1;

如果我对单个记录执行上述查询,则工作正常。但是,当我对整个表执行它时,它会失败,并显示以下错误:

代码语言:javascript
运行
复制
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.

上面的任何提示都会对我有所帮助。

EN

回答 3

Stack Overflow用户

发布于 2015-11-09 17:42:47

在xpath中包含/text。like select (COLUM_NAME).extract('//parentNode/chileNode/text()').getStringVal() as Value from TableName where UUID=‘Colum_Name’

票数 1
EN

Stack Overflow用户

发布于 2016-02-05 02:58:59

甲骨文抱怨"xyz.xmlColumn“不是有效的xml列或类型。它需要<element>....</element>格式

票数 0
EN

Stack Overflow用户

发布于 2018-12-12 11:31:32

您的问题是,存储在CLOB中的内容不是XML文档,因为它缺少根节点。因为要扫描摘录中的整个文档,所以可以将其包装在一个元素中,以确保有且只有一个根,此时XMLTYPE类型转换将起作用。

从表名中选择XMLTYPE(''||clob_field||'').EXTRACT('//se/text()').getStringVal()

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17417298

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档