python xml模块
Posted wuxinyan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python xml模块相关的知识,希望对你有一定的参考价值。
#! /usr/bin/env python
# -*- coding:utf-8 -*-
import xml
import requests
from xml.etree import ElementTree as et
## 1.以字符串方式读取xml文件
page = open(‘blog.xml‘,‘r‘,encoding=‘utf-8‘).read()
root = et.XML(page)
print(root.tag)# 当前节点的标签名 tag
for node in root:
print(node.tag,node.attrib,node.find(‘year‘).text)
#当前节点的属性 attrib
#当前节点的内容 text
##2.以解析文件方式打开文件,可修改文件内容
tree = et.parse(‘blog.xml‘)
rot = tree.getroot()
for nod in rot.iter(‘year‘):
new_year = int(nod.text)+1
nod.text = str(new_year)
# set(self, key, value):设置属性
# get(self, key, default=None):获取当前节点的属性值
nod.set(‘name‘,‘NF‘)
# 删除属性
del nod.attrib[‘name‘]
print(dir(rot))# 查看本层节点下有哪些方法
# append(self, subelement):为当前节点追加一个子节点
# extend(self, elements):为当前节点扩展 n 个子节点
# insert(self, index, subelement):在当前节点的子节点中插入某个节点,
# 即:为当前节点创建子节点,然后插入指定位置
#remove(self, subelement):在当前节点在子节点中删除某个节点
# findall(self, path, namespaces=None):获取所有的子节点
# iterfind(self, path, namespaces=None):
# 获取所有指定的节点,并创建一个迭代器(可以被for循环)
# clear(self):清空节点
#
tree.write(‘blog.xml‘)
##3.创建xml文件
#创建节点有三种方式:
##1)makeelement(self, tag, attrib):创建一个新节点
##2)Element(tag, attrib={}):创建一个节点
##3)SubElement(parent, tag, attrib={}, **extra)用来构造一个已经存在的节点的子节点
#创建根节点
fa = et.Element("father")
#创建子节点
s1 = et.Element(‘son‘,{‘name‘:"长子"})
s2 = fa.makeelement(‘son‘,{‘name‘:‘次子‘})
s3 = et.SubElement(fa,‘son‘,attrib={‘name‘:"三子"})
#将子节点添加到父节点
fa.append(s1)
fa.append(s2)
#prettify(elem):将节点转换成字符串,并添加缩进
#生成文档对象,写入文档
zp = et.ElementTree(fa)
zp.write("zp.xml",encoding=‘utf-8‘,short_empty_elements=False)
以上是关于python xml模块的主要内容,如果未能解决你的问题,请参考以下文章