DBXML XQuery:将子节点移动到容器的根节点



我正在使用python中的xquery更新,并试图从xml树中拉出子元素,并将它们作为新的父元素插入DBXML数据库中。使用下面的xquery,我试图迭代每个子集合,然后将子集合插入父集合。

for $child in collection($items)/parent/path/to/child return (
    insert node $child into collection($items)
)

但是,会产生以下错误。

XmlQueryEvaluationError Error: Cannot perform an update that creates a persistent document with more than one document element, line 0, column

我也试过用变量值插入xml,但所有节点都定义了。产生相同的错误。

for $child in collection($items)/parent/path/to/child return (
    insert node <parent><item>{$child/item}</item></parent> into collection($items)
)

我希望您不能使用XQuery更新集合。

您很可能必须提供单个文档节点或其他节点,而不是将fn:collection作为更新语句的上下文。

你的第一个语句实际上是说在集合中的每个文档节点中插入一些child节点。

如果您想只使用XQuery插入一个新文档,我不确定这在DBXML中是否可能:http://docs.oracle.com/cd/E17276_01/html/intro_xml/modifyingdocuments.html

相关内容

  • 没有找到相关文章

最新更新