首页 / XML / python操作xml
python操作xml
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python操作xml,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2177字,纯文字阅读大概需要4分钟。
内容图文
xpath_test.html
<html>
<body>
<head>xml Test</head>
<div id="content">
<ul id="ul">
<li>NO.1</li>
<li>NO.2</li>
<li>NO.3</li>
</ul>
<ul id="ul2">
<li>one</li>
<li>two</li>
</ul>
<div>
<p>第二个标签</p>
</div>
</div>
<div id="url">
<a href="http:www.58.com" title="58">58</a>
<a href="http:www.csdn.net" title="CSDN">CSDN</a>
<a href="http:www.csdn.net222" title="CSDN">sssss</a>
</div>
</body>
</html>
代码:
import xml.etree.ElementTree as ET
from xml.etree.ElementTree import Element
# ----------ElementTree---------
# 从文件解析,返回elementTree类型
tree = ET.parse('xpath_test.html')
# 获取根结点 element
root = tree.getroot()
for x in root: # 遍历根节点的子节点
print(x,x.tag,x.text)
# 获取第一个ul标签。.//ul是xpath写法
ele = tree.find('.//ul')
e = ele.find('.//li') # 获取ul的第一个li标签
# 从ele中删掉e这个结点
ele.remove(e)
# for e in ele:
# if e.text == "NO.1":
# ele.remove(e)
# 查找所有的div,list类型
tree.findall('.//div')
# 迭代,获取tree所有结点(无视层级)
it = tree.iter()
for i in it: # 迭代所有结点
print(i)
divs = tree.iterfind('.//div') # 迭代查找所有div标签,需要遍历
for div in divs:
print(div,div.text,div.tag)
# ------------------Element-----------------
# xml = ET.XML(string) # 解析字符串 -> element
d = tree.find('.//div')
# 创建element. Element(标签,属性)
new_ele = Element('fff',{'id':'123'})
# .tail,设置此标签和下个标签之间的间隔,此处是换行符
new_ele.tail='\n'
# 设置标签的内容文本
new_ele.text = 'new_ele'
# 设置标签的属性
new_ele.attrib = {'id':'222','class':'333'}
# 设置标签名
new_ele.tag = 'Test'
# 给结点添加子节点
d.append(new_ele)
# 批量添加子结点
d.extend([new_ele,])
# 插入一个子节点,插入到索引1的位置
d.insert(1,new_ele)
# 这几个注释掉的方法和 ElementTree里面的一样
# new_ele.find('.//')
# new_ele.findall('.//')
# new_ele.iterfind('.//div')
# new_ele.iter()
# 获取结点的id属性的值
id = new_ele.get('id')
# 设置结点属性(属性,属性值)
title = new_ele.set('class','new_class')
# 显示所有的键:[key1,key2...]; 所有的键值对: [(key,value),(key,value)...]
new_ele.keys()
new_ele.items()
# 迭代自身和所有子结点的内容文本
all_text = new_ele.itertext()
for a in all_text:
print(a)
# 写入文件 method:xml,html,text...
tree.write('xx.html',encoding='utf8',method='html')
内容总结
以上是互联网集市为您收集整理的python操作xml全部内容,希望文章能够帮你解决python操作xml所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。