Python处理docx中的xml结点

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

python处理

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

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

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

获取了xml对象 

Python处理docx中的xml结点_第1张图片

大致结构如下

Python处理docx中的xml结点_第2张图片

 

结点介绍

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

表示一个段落,每一个P就是一个段落
表示一个样式串,指明它包括的文本的样式,表示一个特定的文本格式
表示真正的文本内容
标签内的标签,对文本属性进行修饰
标签内的标签,对paragrph文本属性进行修饰
字体
复合字体的加粗
表示对齐方式
表示字号大小
表示该格式串种的文本为粗体
页眉
页脚
图片
表示文档属性
字体的类型,w:rFonts的子元素
自定义XML属性
 

xml对象的属性和方法

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

        dom = parse(f)

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

 

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

dom.createElement("w:r")

###
结果:
就是在创建了一个的结点

 

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



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


####
结果:

    

 

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



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

####
结果:

    

 

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

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

###
结果:

    创建的值

 

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


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

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

你可能感兴趣的:(自我深造,xml,python)