用lxml在Python中解析ODF
我正在尝试解析一个ODF文件中的content.xml。我已经把文件读入了一个字符串,并且得到了一个用lxml.etree创建的树状对象:
tree = etree.XML(string)
但是现在我需要找到所有的子元素,这些子元素要么是text:a,要么是text:h。我在之前的问题中被告知可以使用XPath。我试过了,但每次都卡住。甚至连一个这样的元素都找不到。
如果我尝试:
elem = tree.xpath('//text:p'),我得到的结果是:
XPathEvalError: Undefined namespace prefix
那么我该如何获取一个包含这两种子元素的列表,并且保持它们的顺序,以便我可以逐个处理它们呢?