我尝试使用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表中。
另一个解决方法:使用带有查找/替换功能的文本编辑器。我发现的大型XML文件> 1GB的工具无法正常使用。
可以在此处找到脚本:
https://studiofreya.com/2016/11/11/11/replace-string-in-xml-file-file-with-with-python/#comment-86628