mysql - 将 XML 导入 mySQL,多个节点级别具有相同的属性名称

标签 mysql xml

我尝试使用 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/

相关文章:

php 在 select 标签中获取值

mysql - 如何插入选择...哪里不存在选择?

php - mySQL 使用数据表进行搜索

php - MySql 查询结果中的内部数组到 PHP

c# - 读取带和不带命名空间标签的节点

xml - Golang xml 不解码

html - 使用XPath选择包含特定类的表

java - java中xml dom中的特殊字符解析错误

mysql - 尝试为 mysql 发送邮件警报

xml - Applescript - 解析 XML