范围:
在MYSQL中使用ExtractValue()解析xml数据。

面临的问题:
ExtractValue()不能提供所需的输出。

例,

对于输入xml(列名-xml),

<rootData><rootData><rootData><rootData>123</rootData></rootData></rootData></rootData>


ExtractValue(xml,'// rootData')给出的输出为123,这是正确的。

而对于输入xml(列名-xml),

<ThisIsALongElemenetUsedForTesting><ThisIsALongElemenetUsedForTesting><ThisIsALongElemenetUsedForTesting><ThisIsALongElemenetUsedForTesting>12</ThisIsALongElemenetUsedForTesting></ThisIsALongElemenetUsedForTesting></ThisIsALongElemenetUsedForTesting></ThisIsALongElemenetUsedForTesting>


ExtractValue(xml,'// ThisIsALongElemenetUsedForTesting')没有提供正确的输出。而是给它一个NULL值。

注意:如果没有与XPATH匹配的内容,它将返回一个空字符串而不是NULL

请帮助我解决该问题。

提前致谢。

最佳答案

这似乎是MYSQL服务器本身中的错误。

我在MYSQL Server 5.5中遇到此问题,但是在升级到5.6版后,此问题似乎消失了。

这在MYSQL Server 5.5中可能是一个问题,解决方法是使用5.6或更高版本的MYSQL Server版本。

07-24 09:32