2015-08-19 8 views
0

Ниже XML, что я пытаюсь разобрать, но он дает мне ошибку: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> 
+0

Хорошо, что * есть * 'ns1'? – jonrsharpe

ответ

1

Ваш 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

XML-разбирает при определении имен для префикса ns1:. Следующие анализы:

<?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> 
Смежные вопросы