Db2 xmlcast规范

问题描述 投票:0回答:2

Select xmlcast('<case_id>123</case_id><checknumb>2345</checknumb>' as XML)

此查询返回

&lt;case_id;gt;123&lt;/case_id
&lt;checknumb&gt;2345&lt;/checknumb

如何获得<case_id>123</case_id<checknumb>2345</checknumb>

为什么将其转换为xml时会这样。

db2 db2-400
2个回答
0
投票
您的代码正在尝试将字符串文字'<case_id>123</case_id><checknumb>2345</checknumb>'转换为XML

string,而不是XML document。 XML字符串中不能包含尖括号,因为这些符号对于XML解析器具有特殊含义,因此尖括号将转换为实体。

如果您真正想要的是将文字'<case_id>123</case_id><checknumb>2345</checknumb>'转换为XML

document

,则需要先使其成为有效的XML文档(通过添加根元素),然后使用XMLPARSE(DOCUMENT '<root><case_id>123</case_id><checknumb>2345</checknumb></root>')。] >

0
投票
如果需要产生XML sequence,则应使用XMLCONCAT标量函数,而不要尝试将字符串常量转换为XML类型。
© www.soinside.com 2019 - 2024. All rights reserved.