gpt4 book ai didi

xml - 从 Oracle 表在 PL/SQL 中生成 XML 文档

转载 作者:数据小太阳 更新时间:2023-10-29 01:53:58 25 4
gpt4 key购买 nike

我必须从 Oracle 中的某些表生成 PL/SQL 中的 XML 文档。我以前从来没有这样做过,我发现似乎有几种主要的方法可以做到这一点:

  • xmldom API
  • xml 函数(例如 xmlelement、xmlagg、xmlroot)
  • dbms_xmlgen 函数

将引用 65 个表来生成单个文档,我将不得不根据 xsd 验证输出。这些文档将批量生成(而不是按需生成)——我不知道这是否会有所不同。使用 Oracle 10g。

我最初倾向于使用 xmldom 包,因为它看起来更灵活,但我很难找到好的示例或文档,而 xml 函数似乎有更好的文档记录并且通常更受欢迎。这是有原因的吗?

对于此类任务,人们通常推荐什么方法?

最佳答案

根据我的经验,DBMS_XMLGEN 适合快速而复杂的数据到 xml 的转换,但我一直不太喜欢它,因为您必须将 SQL 作为字符串传递。此外,您对元素名称和 ROWSET/ROW 结构的控制受到严重限制。

如果您处理的是相对简单的结构,那么 XML 函数非常方便,也是我的最爱。例如,一旦进入多个 XMLAgg 级别,我发现它很快就会陷入困惑。

XMLDOM 是生成 XML 最灵活的方式,尤其是在结构更复杂或涉及迭代逻辑的情况下。这里的主要缺点是它本质上是 Java DOM 的包装器,其中大多数方法接受 DOMNode 输入,但 PL/SQL 不直接支持多态性,因此您最终会在 DOMElement 和 DOMNode 之间进行大量显式转换,反之亦然,等等。一般来说,我会创建自己的重载过程包来封装所有这些,并减少使用起来的痛苦。

关于xml - 从 Oracle 表在 PL/SQL 中生成 XML 文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1821819/

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