范围:
在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版本。