【发布时间】:2017-01-22 07:32:56
【问题描述】:
我正在尝试创建一个流程,该流程将在生产环境中检查我们在 XML 模式中所做的更改是否已部署。这些文件保存在 Oracle DB 中,因此我正在考虑使用 XMLTYPE.extract ....
问题是 xpath 无法解析架构。
如果这是我的架构
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="TRB_TRX">
<xs:complexType>
<xs:sequence>
<xs:element name="HEADER">
<xs:complexType>
<xs:attribute name="ReqNotf" type="xs:string" use="optional" default="N"/>
我希望能够做到
SELECT XMLTYPE(COLUMN).EXTRACT('//xs:attribute[@name="ReqNotf"]/@type').getStringVal()
From .....
【问题讨论】:
-
您遇到了什么问题?无论如何,您必须声明使用的命名空间。
-
我正在运行以下查询(例如): select extractValue(xmltype(FILE_DATA), '//xs:element/@name/text()') from MY_TABLE 并得到错误:" ORA-31011: XML 解析失败 ORA-19202: XML 处理出错 LPX-00601: Invalid token in: '//xs:element/@name/text()'. and getting "