gpt4 book ai didi

xml - 甲骨文 10g : Reading XML values from Clob using XMLSequence and ExtractValue

转载 作者:数据小太阳 更新时间:2023-10-29 02:36:34 26 4
gpt4 key购买 nike

我开始觉得有点昏昏欲睡了。看了很多网页,尝试了很多方法,做了一些看似比较简单的事情。

我有一些 XML 存储表。该表包含一个 ID 和 CLOB 中的 XML。像这样的东西:

ID = 1

<?xml version="1.0" encoding="UTF-8" ?>
<CricketGame xmlns="http://www.somewhere.com/cricket/2002/09" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Version="2002A" xsi:type="CricketGame" >
<TeamInfo TeamId="WestCountry" />
<SessionInfo SessionId="XhRya5m999988888" RestartSession="false" />
<Errors>
<Error ErrorText="Generic Error" ErrorCode="700" SupplierErrorText="Connection: DECLINED" />
<Error ErrorText="Generic Error" ErrorCode="701" SupplierErrorText="Account Error" />
</Errors>
</CricketGame>

我一直在尝试使用 extract 和 XMLSequence 的组合来创建一个表,然后 extractvalue 从 ErrorText、ErrorCode 和 SupplierErrorText 中获取特定的值。我的 SQL:

SELECT 
extractvalue(value(p), '/Error/@ErrorText') as errText,
extractvalue(value(p), '/Error/@ErrorCode') as errCode,
extractvalue(value(p), '/Error/@SupplierErrorText') as supErrText
FROM gamestable s,
Table(
XMLSequence(
extract(xmltype(s.xml), '/CricketGame/Errors/Error')
)
) p
where
s.gameID = 1

SQL 不返回任何错误,但也不返回数据。

谁能看出我做错了什么?我这样做完全错了吗?这可能与 xmlns 有关吗?

非常感谢!

最佳答案

你是对的,问题与xmlns有关。我不太了解 XML,所以我不能告诉您这是否是一个好的解决方案,但它至少似乎适用于这个示例:

SELECT 
extractvalue(value(p), '/Error/@ErrorText', 'xmlns="http://www.somewhere.com/cricket/2002/09"') as errText,
extractvalue(value(p), '/Error/@ErrorCode', 'xmlns="http://www.somewhere.com/cricket/2002/09"') as errCode,
extractvalue(value(p), '/Error/@SupplierErrorText', 'xmlns="http://www.somewhere.com/cricket/2002/09"') as supErrText
FROM gamestable s,
Table(
XMLSequence(
extract(xmltype(s.xml), '/CricketGame/Errors/Error', 'xmlns="http://www.somewhere.com/cricket/2002/09"')
)
) p
where
s.gameID = 1

关于xml - 甲骨文 10g : Reading XML values from Clob using XMLSequence and ExtractValue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12396792/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com