使用python解析xml

2024-10-02 16:31:59 发布

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

下面是我试图解析的XML,但它给了我一个错误:

xml.etree.ElementTree.ParseError: unbound prefix: line 2, column 0

这是XML:

<?xml version="1.0" encoding="UTF-8"?>
<ns1:NWEnv>
    <name>lk</name>
    <gateways>        
        <IPAddress>1.2.3.2</IPAddress>
    </gateways>
    <DNSServers>        
        <IPAddress>1.2.4.3</IPAddress>
    </DNSServers>
    <doesOverride>false</doesOverride>
    <auditUpload>0</auditUpload>
</ns1:NWEnv>

Tags: name错误xmletreeipaddresselementtreens1gateways
1条回答
网友
1楼 · 发布于 2024-10-02 16:31:59

您的xml有错误。ns1:前缀未绑定到命名空间。xml中应该有一个使用xmlns属性的命名空间声明。你知道吗

When using prefixes in XML, a so-called namespace for the prefix must be defined. The namespace is defined by the xmlns attribute in the start tag of an element. The namespace declaration has the following syntax. xmlns:prefix="URI".

来源:http://www.w3schools.com/xml/xml_namespaces.asp

当您为ns1:前缀定义名称空间时,xml将进行解析。以下解析:

<?xml version="1.0" encoding="UTF-8"?>
<ns1:NWEnv xmlns:ns1="http://put.what.you.like.here.org/nwenv">
    <name>lk</name>
    <gateways>        
        <IPAddress>1.2.3.2</IPAddress>
    </gateways>
    <DNSServers>        
        <IPAddress>1.2.4.3</IPAddress>
    </DNSServers>
    <doesOverride>false</doesOverride>
    <auditUpload>0</auditUpload>
</ns1:NWEnv>

相关问题 更多 >