从xml python创建sql数据库

2024-05-26 22:57:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个xml文件,其中包含使用minidom from xml的maya文件中的数据。 我正在尝试使用xml创建sqllite数据库

<?xml version="1.0" encoding="utf-8"?>
<Data>
    <object id="Car:Wheels_GRP">
        <Car:FrontWheels_GRP type="transform">
            <Car:Wheel_Front_L_GRP type="transform">
                <Car:Wheel_Rim_Front_L_MSH type="transform">
                    <Car:Wheel_Rim_Front_L_MSHShape type="mesh"/>
                    <Car:polySurfaceShape4 type="mesh"/>
                </Car:Wheel_Rim_Front_L_MSH>
                <Car:Wheel_Front_L_MSH type="transform">
                    <Car:Wheel_Front_L_MSHShape type="mesh"/>
                    <Car:polySurfaceShape5 type="mesh"/>
                </Car:Wheel_Front_L_MSH>
            </Car:Wheel_Front_L_GRP>
            <Car:Wheel_Front_R_GRP type="transform">
                <Car:Wheel_Rim_Front_R_MSH type="transform">
                    <Car:Wheel_Rim_Front_R_MSHShape type="mesh"/>
                    <Car:polySurfaceShape6 type="mesh"/>
                </Car:Wheel_Rim_Front_R_MSH>
                <Car:Wheel_Front_R_MSH type="transform">
                    <Car:Wheel_Front_R_MSHShape type="mesh"/>
                    <Car:polySurfaceShape7 type="mesh"/>
                </Car:Wheel_Front_R_MSH>
            </Car:Wheel_Front_R_GRP>
            <Car:Axle_Front_MSH type="transform">
                <Car:Axle_Front_MSHShape type="mesh"/>
                <Car:polySurfaceShape8 type="mesh"/>
            </Car:Axle_Front_MSH>
        </Car:FrontWheels_GRP>
        <Car:BackWheels_GRP type="transform">
            <Car:Wheel_Back_L_GRP type="transform">
                <Car:Wheel_Rim_Back_L_MSH type="transform">
                    <Car:Wheel_Rim_Back_L_MSHShape type="mesh"/>
                    <Car:polySurfaceShape9 type="mesh"/>
                </Car:Wheel_Rim_Back_L_MSH>
                <Car:Wheel_Back_L_MSH type="transform">
                    <Car:Wheel_Back_L_MSHShape type="mesh"/>
                    <Car:polySurfaceShape10 type="mesh"/>
                </Car:Wheel_Back_L_MSH>
            </Car:Wheel_Back_L_GRP>
            <Car:Wheel_Back_R_GRP type="transform">
                <Car:Wheel_Rim_Back_R_MSH type="transform">
                    <Car:Wheel_Rim_Back_R_MSHShape type="mesh"/>
                    <Car:polySurfaceShape11 type="mesh"/>
                </Car:Wheel_Rim_Back_R_MSH>
                <Car:Wheel_Back_R_MSH type="transform">
                    <Car:Wheel_Back_R_MSHShape type="mesh"/>
                    <Car:polySurfaceShape12 type="mesh"/>
                </Car:Wheel_Back_R_MSH>
            </Car:Wheel_Back_R_GRP>
            <Car:Axle_Back_MSH type="transform">
                <Car:Axle_Back_MSHShape type="mesh"/>
                <Car:polySurfaceShape13 type="mesh"/>
            </Car:Axle_Back_MSH>
        </Car:BackWheels_GRP>
    </object>
</Data>

但是当我试着用代码读它的时候

from xml.dom import minidom
xmldoc = minidom.parse('D:/test.xml')
itemlist = xmldoc.getElementsByTagName('object')
print(len(itemlist))

我一直在犯错误 xml.parsers.expat.expat错误:未绑定前缀:第4行第2列

任何关于如何读取和创建sql数据库的建议


Tags: objecttypebacktransformxmlcarwheelfront
1条回答
网友
1楼 · 发布于 2024-05-26 22:57:38

由于Car命名空间未在xml中定义,因此引发了未绑定前缀错误

进行此更改以修复此问题:

<object id="Car:Wheels_GRP" xmlns:Car="http://schemas.blah.org">

名称空间url可以是任何内容,但必须包含在xml中

要将xml转换为数据库,请查看以下帖子:

populating data from xml file to a sqlite database using python

相关问题 更多 >

    热门问题