2016-05-23 2 views
0

Согласно this post, я успешно могу проанализировать свой XML-файл и прочитать его содержимое. Однако, если я добавлю к нему пространство имён, все будет не так.Python XML iterparse() namespacing

Рассмотрим следующий XML:

<root xmlns="MyNamespace"> 
    <A1> 
    <B1></B1> 
    <C>1<D1></D1></C> 
    <E1></E1> 
    </A1> 
    <A2> 
     <B2></B2> 
     <C>2<D></D></C> 
     <E2></E2> 
    </A2> 
</root> 

Мои iterparse выглядит следующим образом:

context = ET.iterparse('../in/process/teszt.xml', events=('end',), tag='B1') 

Я нашел несколько примеров, но если честно, я не очень понимаю их, и не имеют idead как решить эту проблему.

ответ

1

В случае XML с пространством имен по умолчанию , вы должны использовать пространство имен URI наряду с локальным именем элемента в tag:

context = ET.iterparse('../in/process/teszt.xml', events=('end',), tag='{MyNamespace}B1') 
+0

Спасибо, решить мою проблему! – zedz01