全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Python常用内置模块之xml模块(详解)

xml即可扩展标记语言,它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。从结构上,很像HTML超文本标记语言。但他们被设计的目的是不同的,超文本标记语言被设计用来显示数据,其焦点是数据的外观。它被设计用来传输和存储数据,其焦点是数据的内容。那么Python是如何处理XML语言文件的呢?下面一起来看看Python常用内置模块之xml模块吧。

本文主要学习的ElementTree是python的XML处理模块,它提供了一个轻量级的对象模型。在使用ElementTree模块时,需要import xml.etree.ElementTree的操作。ElementTree表示整个XML节点树,而Element表示节点数中的一个单独的节点。

构建XML文件

ElementTree(tag),其中tag表示根节点,初始化一个ElementTree对象。

Element(tag, attrib={}, **extra)函数用来构造XML的一个根节点,其中tag表示根节点的名称,attrib是一个可选项,表示节点的属性。

SubElement(parent, tag, attrib={}, **extra)用来构造一个已经存在的节点的子节点 Element.text和SubElement.text表示element对象的额外的内容属性,Element.tag和Element.attrib分别表示element对象的标签和属性。

ElementTree.write(file, encoding='us-ascii', xml_declaration=None, default_namespace=None, method='xml'),函数新建一个XML文件,并且将节点数数据写入XML文件中。

下面以新建一个网站的sitemap.xml文件为例进行代码示例

#!/usr/bin/env python
# -*- coding:utf-8 -*-
from xml.etree import ElementTree as ET
def build_sitemap():
  urlset = ET.Element("urlset")  #设置一个根节点,标签为urlset
  url = ET.SubElement(urlset,"url")  #在根节点urlset下建立子节点
  loc = ET.SubElement(url,"loc")
  loc.text = "http://www/baidu.com"
  lastmod = ET.SubElement(url,"lastmod")
  lastmod.text = "2017-10-10"
  changefreq = ET.SubElement(url,"changefreq")
  changefreq.text = "daily"
  priority = ET.SubElement(url,"priority")
  priority.text = "1.0"
  tree = ET.ElementTree(urlset)
  tree.write("sitemap.xml")
if __name__ == '__main__':
  build_sitemap()

结果如下图所示:

解析和修改XML文件

ElementTree.parse(source, parser=None),将xml文件加载并返回ElementTree对象。parser是一个可选的参数,如果为空,则默认使用标准的XMLParser解析器。

ElementTree.getroot(),得到根节点。返回根节点的element对象。

Element.remove(tag),删除root下名称为tag的子节点 以下函数,ElementTree和Element的对象都包含。

find(match),得到第一个匹配match的子节点,match可以是一个标签名称或者是路径。返回个element findtext(match,default=None),得到第一个配置的match的element的内容 findall(match),得到匹配match下的所有的子节点,match可以是一个标签或者是路径,它会返回一个list,包含匹配的elements的信息 iter(tag),创建一个以当前节点为根节点的iterator。

还是以上面创建的sitemap.xml为例,对其进行一定的修改,代码示例如下:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
 
from xml.etree import ElementTree as ET
tree = ET.parse("sitemap.xml")
url = tree.find("url")
for rank in tree.iter('loc'):
  rank.text = "http://www.adminba.com"
tree.write("sitemap.xml")

以上的代码将url修改为http://www.adminba.com了。另外,节点还有set(设置节点属性)、attrib(删除节点属性)方法。

这篇Python常用内置模块之xml模块(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


# python xml模块  # 是一个  # 第一个  # 给大家  # 或者是  # 为例  # 新建一个  # 是一种  # 对其  # 希望能  # 它可以  # 可选  # 所示  # 这篇  # 它会  # 很像  # 创建一个  # 小编  # 如何处理  # 大家多多  # 如下图 


相关文章: 网站制作知乎推荐,想做自己的网站用什么工具比较好?  香港服务器部署网站为何提示未备案?  简历在线制作网站免费版,如何创建个人简历?  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  如何在橙子建站中快速调整背景颜色?  沈阳制作网站公司排名,沈阳装饰协会官方网站?  已有域名和空间如何快速搭建网站?  如何通过wdcp面板快速创建网站?  小程序网站制作需要准备什么资料,如何制作小程序?  合肥做个网站多少钱,合肥本地有没有比较靠谱的交友平台?  定制建站策划方案_专业建站与网站建设方案一站式指南  如何在阿里云服务器自主搭建网站?  存储型VPS适合搭建中小型网站吗?  魔毅自助建站系统:模板定制与SEO优化一键生成指南  网站建设制作、微信公众号,公明人民医院怎么在网上预约?  南阳网站制作公司推荐,小学电子版试卷去哪里找资源好?  动图在线制作网站有哪些,滑动动图图集怎么做?  ,sp开头的版面叫什么?  怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?  ,购物网站怎么盈利呢?  三星网站视频制作教程下载,三星w23网页如何全屏?  长春网站建设制作公司,长春的网络公司怎么样主要是能做网站的?  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  高防服务器如何保障网站安全无虞?  如何快速搭建高效服务器建站系统?  网站设计制作企业有哪些,抖音官网主页怎么设置?  家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?  网站制作难吗安全吗,做一个网站需要多久时间?  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  *服务器网站为何频现安全漏洞?  建站之星后台管理如何实现高效配置?  SQL查询语句优化的实用方法总结  广州美橙建站如何快速搭建多端合一网站?  建站之星代理费用多少?最新价格详情介绍  如何选择域名并搭建高效网站?  建站主机是什么?如何选择适合的建站主机?  网站app免费制作软件,能免费看各大网站视频的手机app?  巅云智能建站系统:可视化拖拽+多端适配+免费模板一键生成  番禺网站制作公司哪家值得合作,番禺图书馆新馆开放了吗?  如何高效搭建专业期货交易平台网站?  如何通过FTP空间快速搭建安全高效网站?  GML (Geography Markup Language)是什么,它如何用XML来表示地理空间信息?  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  清除minerd进程的简单方法  制作企业网站建设方案,怎样建设一个公司网站?  建站之星后台密码遗忘或太弱?如何重置与强化?  如何用wdcp快速搭建高效网站?  西安制作网站公司有哪些,西安货运司机用的最多的app或者网站是什么?  如何实现建站之星域名转发设置?  建站主机是否等同于虚拟主机? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。