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 以便更好地使用