我想提取带删除线的单词,即<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