【发布时间】:2019-09-24 07:15:49
【问题描述】:
我试图从 Oracle 中的 XML 节点中提取文本值。我不太确定该怎么做,我也不完全理解 Oracle 文档,因为它似乎有很多方法可以做到这一点。 您将如何从该节点中提取节点“ErrorMessage”?
谢谢
'<soap:Fault xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<faultcode>soap:Client</faultcode>
<faultstring>No existe la referencia del codigo de Hospital Publico.</faultstring>
<detail>
<Error xmlns="SSoapException">
<ErrorNumber>REF17</ErrorNumber>
<ErrorMessage>No existe la referencia del codigo de Hospital Publico.</ErrorMessage>
</Error>
</detail>
</soap:Fault>'
我希望使用 select 提取“ErrorMessage”节点。
我试过了,但是不行
SELECT
xmltype('
<soap:Fault xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<faultcode>soap:Client</faultcode>
<faultstring>No existe la referencia del codigo de Hospital Publico.</faultstring>
<detail>
<Error xmlns="SSoapException">
<ErrorNumber>REF17</ErrorNumber>
<ErrorMessage>No existe la referencia del codigo de Hospital Publico.</ErrorMessage>
</Error>
</detail>
</soap:Fault>').extract('soap:Fault"/faultstring/text()').getstringval()
FROM dual
【问题讨论】:
-
分而治之:你能提取字符串代码吗?那么,SQL 查询(单独)是否有效?
-
问题似乎是
如果我删除我工作的 de xmlns... -
问题是您没有声明命名空间,也没有在 xPath 表达式中使用它。看到这个stackoverflow.com/questions/38439595/…