.docx文件通过改后缀名.zip,解压后在能找到xml格式的文件

python处理

from xml.dom.minidom import parse 导入该包

使用python.open函数,保留为字符流文件

使用parse(xml的字符流文件)

获取了xml对象 

大致结构如下

 

结点介绍

这里只介绍一些常用的,常看到的标签,可以自己去探索更多

<w:p> 表示一个段落,每一个P就是一个段落
<w:r> 表示一个样式串,指明它包括的文本的样式,表示一个特定的文本格式
<w:t>表示真正的文本内容
<w:rPr>是<w:r>标签内的标签,对文本属性进行修饰
<w:pPr>是<w:p>标签内的标签,对paragrph文本属性进行修饰
<w:rFronts>字体
<w:bCs> 复合字体的加粗
<w:jc w:val=“right”/> 表示对齐方式
<w:sz w:val=“40”/> 表示字号大小
<w:b w:val=”on”> 表示该格式串种的文本为粗体
<w:hdr>页眉
<w:ftr>页脚
<w:drawing>图片
<w:docPr>表示文档属性
<w:hint> 字体的类型,w:rFonts的子元素
<w:attr > 自定义XML属性
 

xml对象的属性和方法

        获取一个结点列表:结点.getElementsByTagName(具体的结点名称),其返回的是所有该结点名称的一个列表

        dom = parse(f)

        node_document = dom.getElementsByTagName("w:document")[0]

 

        创建一个具体的结点: dom.createElement(所要创建结点的名称)

dom.createElement("w:r")

###
结果:
就是在创建了一个<w:r>的结点
<w:r>

 

         设置结点的属性:结点.setAttribute(属性名,属性值):

<w:r>

wr = dom.getElementByTagName("w:r")[0]
wr.setAttribute("w:val","yellow")


####
结果:
<w:r w:val="yellow">
    

 

        把孩子添加到父节点中去:父节点.appendChild(子结点)

<w:r>

wr = dom.getElementByTagName("w:r")[0]
wt = dom.createElement("w:t")
wr.appendChild(wr)

####
结果:
<w:r>
    <w:r>

 

        创建一个指定值的文本结点:dom.createTextNode(所要创建的值),其不属于孩子结点

nodel_wt = dom.createElement("w:t")
nodel_text = dom.createTextNode("创建的值")
nodel_wt.appendChild(nodel_text)

###
结果:
<w:t>
    创建的值

 

        获取指定结点第一个还在的值:结点.childNodes[0].data

<w:t>
    创建的值
nodel_wt = dom.createElement("w:t")
text  = node_wt.childNodes[0].data

###
结果:
text = 创建的值

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐