当前位置: 首页 > news >正文

酒泉网站建设服务奉贤网站建设

酒泉网站建设服务,奉贤网站建设,普陀企业网站建设,美食网站建设的时间进度表前言最近因为工作的需要#xff0c;在使用 Python 来发送 SOAP 请求以测试 Web Service 的性能#xff0c;由于 SOAP 是基于 XML 的#xff0c;故免不了需要使用 python 来处理 XML 数据。在对比了几种方案后#xff0c;最后选定使用 xml.etree.ElementTree模块来实现。这篇…前言最近因为工作的需要在使用 Python 来发送 SOAP 请求以测试 Web Service 的性能由于 SOAP 是基于 XML 的故免不了需要使用 python 来处理 XML 数据。在对比了几种方案后最后选定使用 xml.etree.ElementTree模块来实现。这篇文章记录了使用 xml.etree.ElementTree模块常用的几个操作也算是总结一下免得以后忘记了。分享出来也方法需要的朋友们参考学习下面话不多说了来一起看看详细的介绍吧。概述对比其他 Python 处理 XML 的方案xml.etree.ElementTree模块(下文我们以 ET 来表示)相对来说比较简单接口也较友好。官方文档 里面对 ET 模块进行了较为详细的描述总的来说ET 模块可以归纳为三个部分ElementTree类Element类以及一些操作 XML 的函数。XML 可以看成是一种树状结构ET 使用ElementTree类来表示整个 XML 文档使用Element类来表示 XML 的一个结点。对整 XML 文档的操作一般是对ElementTree对象进行而对 XML 结点的操作一般是对Element对象进行。解析 XML 文件ET 模块支持从一个 XML 文件构造ElementTree对象例如我们的 XML 文件example.xml内容如下(下文会继续使用这个 XML 文档)120081411004201159900可以使用 ET 模块的parse()函数来从指定的 XML 文件构造一个ElementTree对象import xml.etree.ElementTree as ET# 获取 XML 文档对象 ElementTreetree ET.parse(example.xml)# 获取 XML 文档对象的根结点 Elementroot tree.getroot()# 打印根结点的名称print root.tag从 XML 文件构造好ElementTree对象后还可以获取其结点或者再继续对结点进行进一步的操作。解析 XML 字符串ET 模块的fromstring()函数提供从 XML 字符串构造一个Element对象的功能。xml_str ET.tostring(root)print xml_strroot ET.fromstring(xml_str)print root.tag接着上面的代码我们使用 ET 模块的tostring()函数来将上面我们构造的root对象转化为字符串然后使用fromstring()函数重新构造一个Element对象并赋值给root变量这时root代表整个 XML 文档的根结点。构造 XML如果我们需要构造 XML 文档可以使用 ET 模块的 Element类以及SubElement()函数。可以使用Element类来生成一个Element对象作为根结点然后使用ET.SubElement()函数生成子结点。a ET.Element(a)b ET.SubElement(a, b)b.text leehao.mec ET.SubElement(a, c)c.attrib[greeting] hellod ET.SubElement(a, d)d.text www.leehao.mexml_str ET.tostring(a, encodingUTF-8)print xml_str输出leehao.mewww.leehao.me如果需要输出到文件中可以继续使用ElementTree.write()方法来处理# 先构造一个 ElementTree 以便使用其 write 方法tree ET.ElementTree(a)tree.write(a.xml, encodingUTF-8)执行后便会生成一个 XML 文件a.xml:leehao.mewww.leehao.meXML 结点的查找与更新1. 查找 XML 结点Element类提供了Element.iter()方法来查找指定的结点。Element.iter()会递归查找所有的子结点以便查找到所有符合条件的结点。# 获取 XML 文档对象 ElementTreetree ET.parse(example.xml)# 获取 XML 文档对象的根结点 Elementroot tree.getroot()# 递归查找所有的 neighbor 子结点for neighbor in root.iter(neighbor):print neighbor.attrib输出{direction: E, name: Austria}{direction: W, name: Switzerland}{direction: N, name: Malaysia}如果使用Element.findall()或者Element.find()方法则只会从结点的直接子结点中查找并不会递归查找。for country in root.findall(country):rank country.find(rank).textname country.get(name)print name, rank输出Liechtenstein 1Singapore 42. 更新结点如果需要更新结点的文本可以通过直接修改Element.text来实现。如果需要更新结点的属性可以通过直接修改Element.attrib来实现。对结点进行更新后可以使用ElementTree.write()方法将更新后的 XML 文档写入文件中。# 获取 XML 文档对象 ElementTreetree ET.parse(example.xml)# 获取 XML 文档对象的根结点 Elementroot tree.getroot()for rank in root.iter(rank):new_rank int(rank.text) 1rank.text str(new_rank)rank.attrib[updated] yestree.write(output.xml, encodingUTF-8)新生成的output.xml文件以下220081411005201159900对比example.xml文件可以看到output.xml文件已更新。总结以上就是这篇文章的全部内容了希望本文的内容对大家的学习或者工作能带来一定的帮助如果有疑问大家可以留言交流谢谢大家对聚米学院的支持。参考资料https://docs.python.org/2/library/xml.html#xml-vulnerabilitieshttps://stackoverflow.com/questions/1912434/how-do-i-parse-xml-in-python
http://www.pierceye.com/news/183341/

相关文章:

  • 软件网站开发市场前景试论述网上商城的推广技巧
  • 海洋生态文明建设的网站名廊坊网站建设电话
  • 做外贸在哪个网站比较好视频网站搭建源码
  • 网站代码优化视频教程动画制作专业大学排名
  • 安阳网站推广优化网站导航条背景图片
  • 静态网站需要数据库吗广州近期流行的传染病
  • 如何做国外的网站页面设计感想
  • 征婚网站认识的男人做定投保wordpress 中文 cms
  • 淄博百度网站建设上虞网站建设哪家好
  • 网站菜单导航怎么做的网站没有备案怎么做支付
  • wordpress主题小程序如何做优化排名
  • 中企动力做网站费用多个域名 指向同一个网站
  • 怎么搭建小程序平台网站营销优化
  • 建设网站员工招聘策划方案软件开发的八个步骤
  • 怎样做cms电影网站赚钱网络营销需要学什么
  • wordpress快速仿站视频教程没有备案的网站会怎么样
  • 美团先做网站还是app惠州惠阳网站建设
  • 可以更改上传到网站的文件内容吗信用 网站 建设方案
  • 获奖设计网站公司制作网站价格表
  • 做单页免费模板网站我是做推广的怎么找客户
  • 企业网站建设的缺点网络营销最基本的应用方式是什么
  • 做cpa推广用哪种网站好上海h5网站开发
  • 怎样做免费网站推广怎么申请二级域名
  • 站长之家源码之家虚拟空间官网
  • 网站建设推荐书籍装修公司装修房子
  • 上海专业微信网站开发公司怎么做seo
  • 上海市质量工程建设管理协会网站网站后台源码
  • 淄博机关建设网站免费发布企业信息平台
  • 怎么注册网站免费的怎么给网站备案
  • 新公司 做网站 流程西安房价