【发布时间】:2022-01-21 05:22:03
【问题描述】:
我可以成功读取只有一个节点的 xml 定义。但是当我尝试从 xml 定义中读取多个节点时,我收到以下错误 -
ORA-19025:EXTRACTVALUE 仅返回一个节点的值。
下面是我的xml定义
<form xmlns:fr="http://orbeon.org/oxf/xml/form-runner" fr:data-format-version="4.0.0">
<applicant>
<userId>1234</userId>
<userName>Dan Johnson</userName>
<userEmail>johnson.dan@test.com</userEmail>
</applicant>
<background>
<additionalDuties>Nothing</additionalDuties>
<grid-7>
<position>Service desk analyst</position>
<workplace>Chicago</workplace>
<date>1234</date>
<duties>NA</duties>
</grid-7>
<grid-7>
<position>Service desk analyst 1</position>
<workplace>New york</workplace>
<date>123123</date>
<duties>NA</duties>
</grid-7>
</background>
</form>
SQL 查询
SELECT extractvalue(xml, '//*/userId/text()') AS "E-number",
extractvalue(xml, '//*/userName/text()') AS "Name",
extractvalue(xml, '//*/userEmail/text()') AS "Email",
extractvalue(xml, '//*/additionalDuties/text()') AS "Responsibilities",
extractvalue(xml, '//*/position/text()') AS "Position",
extractvalue(xml, '//*/workplace/text()') AS "Workplace",
extractvalue(xml, '//*/date/text()') AS "Date",
extractvalue(xml, '//*/duties/text()') AS "Duties"
FROM form_data fd
WHERE form = 'form-name'
【问题讨论】:
-
这能回答你的问题吗? convert XML to table in oracle
标签: sql xml oracle xml-parsing