使用python-docx的_document方法

时间:2015-08-12 20:25:16

标签: python docx python-docx

我正在使用python-docx并尝试插入一个<w:bookmarkStart>标记。我没有看到任何立即的API方法来创建标记。因此,我使用document._document_part属性搜索了几个引用以获取对原始XML的访问权限。但是,当我尝试使用它时,python告诉我它不存在:

>>> import docx
>>> document = docx.Document()
>>> print document._document_part
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'Document' object has no attribute '_document_part'

我正在使用python-docx 0.8.5。

是否有方法可以添加<w:bookmarkStart>代码?

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。这是一个例子:

from docx.oxml.shared import OxmlElement # Necessary Import

tags = document.element.xpath('//w:r') # Locate the right <w:r> tag

tag = tags[0] # Specify which <w:r> tag you want

child = OxmlElement('w:ARBITRARY') # Create arbitrary tag

tag.append(child) # Append in the new tag

添加属性:

from docx.oxml.shared import qn

child.set( qn('w:val'), 'VALUE') # Add in the value