- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我将以下 XML 文件从名为 ARCHIVDATA 的表中完全导入到一个名为 CLOB_CONTENT 的单元格中:
<AuditLog>
<AuditLogEntry>
<Header>1
</Header>
<Content>2
</Content>
</AuditLogEntry>
<AuditLogEntry>
<Header>3
</Header>
</AuditLogEntry>
<AuditLogEntry>
<Header>4
</Header>
<Content>5
</Content>
<Content>6
</Content>
</AuditLogEntry>
</AuditLog>
结果我想要的是下表(有两行的表):
页眉 |内容
1 | 2
3 |空
4 | 5
4 | 6
我该怎么做?
我已经尝试过以下方法:
SELECT x3.header, x4.content
FROM (select xmltype(xml.CLOB_CONTENT) xmldata from ARCHIVDATA) x1,
xmltable('/AuditLog/AuditLogEntry'
passing x1.xmldata
columns
header XmlType path 'header',
content XmlType path 'content'
)x2,
xmltable('/header'
passing x2.header
columns
header varchar2(4000) path '.'
)x3,
xmltable('/content'
passing x2.content
columns
content varchar2(4000) path '.'
)x4
;/
我必须更改什么才能获得所需的结果表?
最佳答案
我用下一个查询解决了这个任务。但我确信存在更简单的方法。
SELECT headers.header,
contents.content
FROM
(SELECT extracted."Header" AS header
FROM ARCHIVDATA a,
xmltable('/AuditLog/AuditLogEntry' passing xmltype(a.CLOB_CONTENT) columns "Header" VARCHAR2(6) PATH '/AuditLogEntry/Header') extracted
) headers
LEFT JOIN
(SELECT sel.Header,
sel2.content
FROM
(SELECT extracted."Header" AS header,
extracted."Content" AS content
FROM ARCHIVDATA a,
xmltable('/AuditLog/AuditLogEntry' passing xmltype(a.CLOB_CONTENT) columns "Header" VARCHAR2(6) PATH '/AuditLogEntry/Header', "Content" xmltype path '/AuditLogEntry') extracted
) sel,
xmltable('/AuditLogEntry/Content' passing sel.content columns content VARCHAR2(6) path '/Content') sel2
) contents
ON headers.header = contents.header;
关于xml - 如何使用 XMLTABLE 在 Oracle SQL 中导入复杂的 XML 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27382694/
我试图通过这个脚本从下面的 XML 中获取作为 80621b17-97a8-926d945b602a 的信封_id,但没有任何结果。任何人都可以有任何想法吗? SELECT b.EnvelopeID
我有以下 XML 结构: 1 10000 11 1000
我有这样的 XML: A A1 A2 A3 B C D
什么是 XMLTABLE。 请告诉我创建 XMLTABLE 的语法 从 XMLTABLE 获取记录的示例查询。 创建 XMLTABLE 之前是否需要任何数据库级别的先决条件。 最佳答案 函数XMLTA
我有这样的 XML: A A1 A2 A3 B C D
我想知道是否可以在带有 XPATH 的 Oracle XMLTABLE 结构中使用 if 或条件语句。出于设计原因,我只能在 XMLTABLE 中使用 xpath。我在 XQUERY 中使用了 if
使用此 XML : A B C D 1 2 3
在PL/SQL中有没有办法获取最深深度的所有节点? 示例1: A B A11 示例2: A B D
我有一个函数可以解析 XMLTYPE 变量,并且对于每条消息,为 XMLTYPE 变量中的每个标记附加一个具有特定结构的 CLOB。像这样: FUNCTION myFunc (px_Header
我正在使用 Oracle 11.2.0.4.0并且在 XMLTABLE 时遇到过几次问题被卷入。我的最新问题可以通过以下示例(我设计得尽可能简单)来演示: with data as ( selec
我在 Oracle 的一列中有 XML,存储为 CLOB 类型。我的目的是解析这个 XML 并检索与感兴趣的列对应的数据。这是 XML 结构: G1_val G2_val
我正在尝试运行一个涉及 xmltable 的脚本,但我得到了一个 PLS-00428: an INTO clause is expected in this SELECT statement 如何更正
I want to parse a xml string that is a web service response sent from servier, the xml looks like th
我将以下 XML 文件从名为 ARCHIVDATA 的表中完全导入到一个名为 CLOB_CONTENT 的单元格中: 1 2
我是一名优秀的程序员,十分优秀!