DB2 中的 XMLQuery

问题描述

我们在包含 XML 的 DB2 数据库中有一个 CLOB 列。该查询似乎不喜欢嵌入的 xmlns。我将查询简化为:

values xmlquery('$rf/Producers/FIRMS/FIRM/EIN/text()' passing xmlparse(document '<Producers xmlns="http://yummy.cupcakes.com"><FIRMS><FIRM><EIN>27</EIN></FIRM>/</FIRMS></Producers>') as "rf")

如果我删除嵌入在生产者中的 xmlns,它就可以工作。照原样,它不会返回任何内容,但不会引发错误。就像我说的,这是为了故障排除而简化的。实际上,该文档将来自我们数据库中的 CLOB 列。存储在 CLOB 中的所有 XML 都包含 xmlns。关于如何处理这个问题有什么建议吗?

解决方法

您需要在 import 'package:stack_trace/stack_trace.dart' as stacktrace; String currentDartFilePath() => stacktrace.Frame.caller(1).library; 中声明一个默认命名空间。

XMLQUERY

参考链接:https://www.ibm.com/docs/en/db2/11.1?topic=tutorial-lesson-6-querying-xml-data