范围: 在MYSQL中使用ExtractValue()来解析xml数据。
面临的问题: ExtractValue()没有提供所需的输出。
实施例,
对于输入xml(列名-xml),
<rootData><rootData><rootData><rootData>123</rootData></rootData></rootData></rootData>
ExtractValue(xml,&#39; // rootData&#39;)将输出设为123,这是正确的。
然而,对于输入xml(列名-xml),
<ThisIsALongElemenetUsedForTesting><ThisIsALongElemenetUsedForTesting><ThisIsALongElemenetUsedForTesting><ThisIsALongElemenetUsedForTesting>12</ThisIsALongElemenetUsedForTesting></ThisIsALongElemenetUsedForTesting></ThisIsALongElemenetUsedForTesting></ThisIsALongElemenetUsedForTesting>
ExtractValue(xml,&#39; // ThisIsALongElemenetUsedForTesting&#39;)未提供正确的输出。而是给它一个NULL值。
注意:如果XPATH的匹配不可用,它将返回一个空字符串而不是NULL
请帮我解决问题的解决方法。
提前致谢。
答案 0 :(得分:0)
这似乎是MYSQL服务器本身的一个错误。
我在MYSQL Server 5.5中遇到过这个问题,但在我升级到5.6版之后,这个问题似乎已经消失了。
这可能是MYSQL Server 5.5中可能存在的问题,解决方案是使用5.6或以上的MYSQL Server版本。