我想提取帶刪除線的單詞,即<w:delText>
標籤。我已經使用了一個表達式,並且成功地將其提取出來,除了某些單詞出現中斷。例如,單詞"They"
顯示爲'T'
和'hey'
。下面給出的是哪裏的問題仍然存在一個xml樣本:文本提取中的單詞分隔符,Lxml Xpath
<w:delText
xml:space="preserve">.
</w:delText></w:r><w:r
w:rsidR="0020338C"
w:rsidDel="00147CFE"><w:rPr><w:rFonts
w:ascii="Times
New
Roman"
w:hAnsi="Times
New
Roman"/><w:sz
w:val="24"/></w:rPr><w:delText>T</w:delText></w:r><w:r
w:rsidR="00DF6A7D"
w:rsidDel="00147CFE"><w:rPr><w:rFonts
w:ascii="Times
New
Roman"
w:hAnsi="Times
New
Roman"/><w:sz
w:val="24"/></w:rPr><w:delText>hey</w:delText></w:r></w:del><w:ins
w:id="5"
w:author="Author"
w:date="2014-08-13T10:08:00Z"><w:r
w:rsidR="00147CFE"><w:rPr><w:rFonts
w:ascii="Times
New
Roman"
w:hAnsi="Times
New
Roman"/><w:sz
w:val="24"/></w:rPr><w:t
xml:space="preserve">
that
helps
them</w:t></w:r></w:ins>
我用下面的代碼:
find = etree.XPath("//w:p//.//*[local-name() = 'delText']//text()" ,namespaces={'w':"http://schemas.openxmlformats.org/wordprocessingml/2006/main"})
list_of_deleted_words = (find(lxml_tree))
我怎麼可能解決這一問題?
編輯:
我意識到這個問題是隻用言語是在他們大寫字母,如「她」的話,「他」還可以獲得分裂。
那麼,'delText'在概念上並不知道「單詞」。您可以刪除任何一段文本,包括空格。所以,試圖找到提取的單詞實際上是沒有意義的。除非你確信只有完整的單詞被刪除? – 2014-09-26 11:29:46
單詞的部分也可以被刪除,並且提取得很好。但在上述情況下,已刪除單詞「他們」。它爲什麼單獨出現標記是另一個OOXML神祕-_- –
2014-09-26 11:34:48
您的目標是提取**單詞**(不管用戶是否一次刪除它們一個整個單詞),還是您的目標是提取大塊該用戶刪除? – LarsH 2014-09-26 14:33:30