gpt4 book ai didi

Python、OOXML、ElementTree 和文档根属性

转载 作者:行者123 更新时间:2023-12-01 05:01:59 27 4
gpt4 key购买 nike

ElementTree (Python 2.7) 看不到根元素的属性,例如标签 <w:document xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"> - 拿一本空字典。我想要“即时”获取用于处理标签的 namespace 。库 xml.dom.minidom 工作正常,但我不想失去 ET 的功能。代码示例:

from xml.etree import ElementTree as ET
import zipfile
path = '/path/to/sample.docx'
zf = zipfile.ZipFile(path, 'r')
root = ET.fromstring(zf.read('word/document.xml'))
print(root.tag, root.attrib) # =>
# ('{http://schemas.openxmlformats.org/wordprocessingml/2006/main}document', {})

最佳答案

XML 命名空间声明(以 xmlns: 开头)不是属性。我认为这就是为什么你没有看到它出现在 attrib 字典中。还有其他使用命名空间的方法,因此,如果您能详细说明您正在努力服务的目的,我可能会提供更多帮助。

WordprocessingML 元素的命名空间(及其前缀)众所周知并有文档记录,但数量相对较少。大多数文档中最多出现几十个,但只有一小部分出现。因此,根据您想要完成的任务,完成它可能比看起来更容易。

关于Python、OOXML、ElementTree 和文档根属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25896927/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com