1
我正在提取關於標籤的文本,我需要以列表形式將它們以w.r.t p標籤的形式提取出來。我有這樣的XPath表達式爲:尋找相當於xpath,Lxml
find = etree.XPath("//w:p//.//*[local-name() = 'ins']//text()" ,namespaces={'w':"http://schemas.openxmlformats.org/wordprocessingml/2006/main"})
,我想在findall
表達式中使用它。我試過了:
inserted_list_1=[]
for p in lxml_tree.findall('.//{' + w + '}p'):
inserted_list_1.append([t.text for t in p.findall('.//{' + w + '}ins')])
但是,這一切返回的是一個充滿None
值的列表,而前者的xpath完美地工作。
我認爲有一些中間路徑丟失。
和我應該用什麼文字? t.text似乎不起作用。 – 2014-10-01 10:38:54
@Swordy:你確定這些'ins'元素中直接包含文本嗎? – 2014-10-01 10:47:22
@MartijnPieters不,沒有。很可能這是OOXML的一種方言,其中的文本在'w:ins/w:r/w:t'裏面。所以'w:ins // text()'可以正常工作。 +1。 – 2014-10-02 22:10:04