错误使用lxml的蟒蛇

问题描述:

在XML中检索根元素我有以下XML: VAL =“””错误使用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') 

但它给了[]空列表,但是当我为book,val.xpath('book')做同样的脚本时,它正在工作。

如何检索第一个元素?

+0

每Python文档针对节点'该模块提供了XPath表达式的支持有限用于在树中定位元素。目标是支持缩写语法的一小部分;一个完整的XPath引擎超出了该模块的范围。'https://docs.python.org/2/library/xml.etree.elementtree.html#elementtree-xpath – 2015-03-19 09:12:31

你可以尝试:

/bookstore # child 

//bookstore # descendant at any depth 

我不认为你是正确的ATM

+0

但我没有得到它是如何工作的“书“元素,而不是为其父母”书店“ – pjain 2015-03-19 10:46:33