我尝试使用 LOAD XML 函数将 XML 文件导入到 MYSQL 表中:
LOAD XML INFILE 'test.xml INTO TABLE edge_delete ROWS IDENTIFIED BY '<edge>';
XML 文件的结构如下:
<netstate xmlns:xsi=....>
<timestep time="2">
<edge id="10">
<lane id="10_0">
<vehicle id="veh1" pos="4.60" speed="0.00"/>
</lane>
</edge>
</timestep>
问题: 所有节点级别均以属性“id”开头。导入不区分节点级别。 每个节点级别应该是我的sql表中的一个对应列:edge |车道 |车辆 ID |...
谢谢你的帮助
最佳答案
对我有用的解决方案: 使用 python 脚本将“id”属性替换为另一个属性字符串(例如“edge”)。该脚本替换该字符串。也许不是最好、最有效的方法,但可以解决问题。 现在我可以将 XML 文件的所有列导入到 mySQL 表中。
另一种解决方法:使用具有查找/替换功能的文本编辑器。 对于大于 1GB 的大型 xml 文件,我发现的工具无法正常工作。
该脚本可以在这里找到:
https://studiofreya.com/2016/11/17/replace-string-in-xml-file-with-python/#comment-86628
关于mysql - 将 XML 导入 mySQL,多个节点级别具有相同的属性名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48804052/