gpt4 book ai didi

xml - 甲骨文 11g : Extracting and Counting XML elements

转载 作者:行者123 更新时间:2023-12-04 05:42:33 24 4
gpt4 key购买 nike

我将 XML 类型的数据存储在 Oracle 11g 数据库中。我的数据的粗略版本如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<record>
<record_number>12345</record_number>
<record_type> book </record_type>
</record>

数据操作功能,例如:
SELECT XML_Type FROM Metadata

指定每行包含格式良好的 XML 文件(带有许多标签和元素)的列。我正在努力提取和计算每个 <record_type> 的出现次数元素。例如,我想知道 XML 标签 <record_type> 出现了多少次。有元素“书”、“文章”等。不过,我不知道与标签关联的元素的完整列表。

谢谢,

我。

最佳答案

取决于您的数据的确切存储方式(即您在表中有 1 行是 1 个 XML 文档,它看起来像您发布的示例,还是在表中有 1 行是 1 个 XML 文档,其中有许多不同的记录标签)它)最简单的方法是这样的

SQL> ed
Wrote file afiedt.buf

1 with t as (select '<?xml version="1.0" encoding="UTF-8"?>
2 <record>
3 <record_number>12345</record_number>
4 <record_type> book </record_type>
5 </record>' xml
6 from dual
7 union all
8 select '<?xml version="1.0" encoding="UTF-8"?>
9 <record>
10 <record_number>6789</record_number>
11 <record_type> magazine </record_type>
12 </record>' xml
13 from dual)
14 select xmltype(t.xml).extract( '//record_number/text()' ) record_number,
15 xmltype(t.xml).extract( '//record_type/text()' ) record_type
16* from t
SQL> /

RECORD_NUMBER RECORD_TYPE
-------------------- ------------------------------
12345 book
6789 magazine

提取数据后,计算或以其他方式聚合数据应该很容易。

关于xml - 甲骨文 11g : Extracting and Counting XML elements,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11105491/

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