LOAD XML INFILE 将嵌套子项保存为普通
LOAD XML INFILE save nested childs as plain
我在互联网上进行了研究,似乎 LOAD XML INFILE 无法保存具有相同名称或不同名称的嵌套子项。
imported XML sample here
但是是否有任何选项可用于将整个内容作为明文保存在父级中?之后逐行解析该内容对我来说不是问题。
请不要告诉我我需要用 PHP 解析它,它在速度的情况下会失败,而且我需要加载很多 XMLs,所以终端对我来说是最好的解决方案.
因此,如果存在某种 shell 或 python 脚本(以防无法将其作为普通文件导入)。
提前致谢
感谢大家纠正语法错误,这非常有用,您应该为社区贡献一枚徽章。
由于没有人提出解决方案,我做了以下,这对我有帮助:
1) 使用此内容创建文件 script.py
#!/usr/bin/python3
# coding: utf-8
import os
import sys
import fileinput
replacements = {'<Image>':'', '</Image>':';',' ':'','\n':''}
with open('/var/www/html/XX/data/xml/products.xml') as infile, open('/var/www/html/XXX/data/xml/products_clean.xml', 'w') as outfile:
for line in infile:
for src, target in replacements.iteritems():
line = line.replace(src, target)
outfile.write(line)
2) 运行 通过终端
python /var/www/html/script.py
3) 然后像往常一样将 XML 文件中的 XML 加载到 mysql 中,或者您可以将该列转换为 json 以便更好地使用
我在互联网上进行了研究,似乎 LOAD XML INFILE 无法保存具有相同名称或不同名称的嵌套子项。
imported XML sample here
但是是否有任何选项可用于将整个内容作为明文保存在父级中?之后逐行解析该内容对我来说不是问题。
请不要告诉我我需要用 PHP 解析它,它在速度的情况下会失败,而且我需要加载很多 XMLs,所以终端对我来说是最好的解决方案.
因此,如果存在某种 shell 或 python 脚本(以防无法将其作为普通文件导入)。
提前致谢
感谢大家纠正语法错误,这非常有用,您应该为社区贡献一枚徽章。
由于没有人提出解决方案,我做了以下,这对我有帮助:
1) 使用此内容创建文件 script.py
#!/usr/bin/python3
# coding: utf-8
import os
import sys
import fileinput
replacements = {'<Image>':'', '</Image>':';',' ':'','\n':''}
with open('/var/www/html/XX/data/xml/products.xml') as infile, open('/var/www/html/XXX/data/xml/products_clean.xml', 'w') as outfile:
for line in infile:
for src, target in replacements.iteritems():
line = line.replace(src, target)
outfile.write(line)
2) 运行 通过终端
python /var/www/html/script.py
3) 然后像往常一样将 XML 文件中的 XML 加载到 mysql 中,或者您可以将该列转换为 json 以便更好地使用