简单介绍使用Python解析并修改XML文档的方法

 更新时间:2015年10月15日 16:04:41   投稿:goldensun  
这篇文章主要介绍了使用Python解析并修改XML文档的方法,是Python入门学习中的基础知识,需要的朋友可以参考下

问题
你想读取一个XML文档,对它最一些修改,然后将结果写回XML文档。


解决方案

使用 xml.etree.ElementTree 模块可以很容易的处理这些任务。 第一步是以通常的方式来解析这个文档。例如,假设你有一个名为 pred.xml 的文档,类似下面这样:

下面是一个利用 ElementTree 来读取这个文档并对它做一些修改的例子:

>>> from xml.etree.ElementTree import parse, Element
>>> doc = parse('pred.xml')
>>> root = doc.getroot()
>>> root
<Element 'stop' at 0x100770cb0>

>>> # Remove a few elements
>>> root.remove(root.find('sri'))
>>> root.remove(root.find('cr'))
>>> # Insert a new element after <nm>...</nm>
>>> root.getchildren().index(root.find('nm'))
1
>>> e = Element('spam')
>>> e.text = 'This is a test'
>>> root.insert(2, e)

>>> # Write back to a file
>>> doc.write('newpred.xml', xml_declaration=True)
>>>

处理结果是一个像下面这样新的XML文件:


讨论
修改一个XML文档结构是很容易的,但是你必须牢记的是所有的修改都是针对父节点元素, 将它作为一个列表来处理。例如,如果你删除某个元素,通过调用父节点的 remove() 方法从它的直接父节点中删除。 如果你插入或增加新的元素,你同样使用父节点元素的 insert() 和 append() 方法。 还能对元素使用索引和切片操作,比如 element[i] 或 element[i:j]

如果你需要创建新的元素,可以使用本节方案中演示的 Element 类。我们在6.5小节已经详细讨论过了。

相关文章

  • 安装Python后IDA中找不到Python模块的问题解决

    安装Python后IDA中找不到Python模块的问题解决

    有天在一台新PC上安装完IDA和Python之后,启动IDA报找不到Python模块的问题,本文就详细的介绍一下解决方法,感兴趣的可以了解一下
    2021-10-10
  • Pyramid Mako模板引入helper对象的步骤方法

    Pyramid Mako模板引入helper对象的步骤方法

    ylons中的mako模板,默认会引入一个helper对象,我们可以在里面扩展方法,应对在模板输出时候会常用的操作,那么在Pyramid中如何默认引入同样的辅助类到模板中
    2013-11-11
  • Python解析nginx日志文件

    Python解析nginx日志文件

    Web服务器的各种系统管理工作包括了多Nginx/Apache 日志的统计,python使这个任务变得极其简单,下面我们来详细讲解下具体的做法,有需要的小伙伴可以参考下。
    2015-05-05
  • 详解Python logging调用Logger.info方法的处理过程

    详解Python logging调用Logger.info方法的处理过程

    这篇文章主要介绍了详解Python logging调用Logger.info方法的处理过程,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-02-02
  • Python爬取智联招聘数据分析师岗位相关信息的方法

    Python爬取智联招聘数据分析师岗位相关信息的方法

    这篇文章主要介绍了Python爬取智联招聘数据分析师岗位相关信息的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • Python urlopen 使用小示例

    Python urlopen 使用小示例

    打开一个网页获取所有的内容、获取Http头、使用代理等小结
    2008-09-09
  • python在非root权限下的安装方法

    python在非root权限下的安装方法

    下面小编就为大家分享一篇python在非root权限下的安装方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-01-01
  • Python实现对特定列表进行从小到大排序操作示例

    Python实现对特定列表进行从小到大排序操作示例

    这篇文章主要介绍了Python实现对特定列表进行从小到大排序操作,涉及Python文件读取、计算、正则匹配、排序等相关操作技巧,需要的朋友可以参考下
    2019-02-02
  • 用pandas划分数据集实现训练集和测试集

    用pandas划分数据集实现训练集和测试集

    这篇文章主要介绍了用pandas划分数据集实现训练集和测试集,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • pandas is in和not in的使用说明

    pandas is in和not in的使用说明

    这篇文章主要介绍了pandas is in和not in的使用说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03

最新评论