1
我有一個非常大的xml文件,我將它存儲在名爲xml的longtext字段中,名爲imports。MySQL中的ExtractData支持名稱空間嗎?
然後,我將如今的xml字符串存儲在名爲@xml的用戶變量中。
SELECT xml FROM imports WHERE DATE(updated_at) = DATE(NOW()) INTO @xml;
我可以根據預期測試用戶變量和數據的長度。
SELECT LENGTH(@xml);
測試我的目標xml標籤的位置也按預期工作。
SELECT LOCATE('sm:ProductCode>', @xml);
但是,當我嘗試對包含名稱空間的XPath查詢使用ExtractValue時,我得到空值。這個XPath查詢已經過測試,可以在我的XPath探索軟件中正常工作。
SELECT ExtractValue(@xml, '//sm:ProductCode');
對不起,我應該提到我使用的是5.1.41,我也在5.5.14上測試過 我讀到了關於:字符的支持,但是有很少的文檔可用,我想也許我正在點擊此功能的限制。 有沒有辦法告訴MySQL包含在@xml中的數據是xml?所有字符串函數都可以正常工作,但XPath只返回null。 –