2015-03-19 4 views
0

я следующий XML: валь = «»»Ошибка извлечения корневой элемент в XML с помощью LXML питона

<bookstore> 
    <book> 
    <title lang="en">Harry Potter</title> 
    <price>29.99</price> 
    </book> 
    <book> 
    <title lang="en">Learning XML</title> 
    <price>39.95</price> 
    </book> 
</bookstore> 

Я хочу, чтобы получить первый элемент, то есть„книжный магазин“, и я делаю:

etree.parse(StringIO(xml1)) 
val.xpath('bookstore') 

но он дает [] пустой список, но тот же скрипт работает, когда я делаю для книги val.xpath ('book').

Как получить первый элемент?

+0

Docs Per Python 'Этот модуль обеспечивает ограниченную поддержку XPath выражений для размещения элементов в дереве. Целью является поддержка небольшого подмножества сокращенного синтаксиса; полный механизм XPath выходит за рамки модуля. 'https://docs.python.org/2/library/xml.etree.elementtree.html#elementtree-xpath –

ответ

2

Вы можете попробовать:

/bookstore # child 

или

//bookstore # descendant at any depth 

Я не думаю, что вы ориентируетесь узлы правильно атм

+0

, но я не понимаю, как он работает для" book "и не работает для своего родительского" книжного магазина " – pjain

Смежные вопросы