我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python xml解析记录

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Python xml解析记录

Python的xml解析方式自带的有3种,xml.dom.*、xml.sax.*以及xml.etree.ElementTree,相对来说,xml.etree.ElementTree最快捷方便。

因为自己只使用了xml.etree.ElementTree,所以下面就简单记录下xml.etree.ElementTree相关的东西。


基本读写

参考:http://blog.csdn.net/wklken/article/details/7603071

xmlTree = ElementTree.parse('a.xml')  #读入
	xmlNodeList = xmlTree.getiterator('Item')  #获取指定节点
	for node in xmlNodeList:
		print 'node.tag:%s' % node.tag  #节点名
		print 'node.text:%s' % node.text  #节点文字
		if node.attrib.has_key('attr_name'):  #节点attribute
			print 'node.attrib[%s]:%s' % ('attr_name',node.attrib['attr_name']))
			keyPath = node.attrib['attr_name']



xml内含有namespace的坑


如果xml文件有namespace的,ElementTree会修改namespace的名字,一般会改成ns0之类的,如果不希望被更改的话,这样玩:
XML_NS_NAME = 'my_ns'
XML_NS_VALUE = 'http://xxx'
ElementTree.register_namespace(XML_NS_NAME, XML_NS_VALUE)  #在parse之前调用

有namespace的时候,查找需要转换namespace,比如有个节点的attr是:my_ns:name,那么在ElementTree内部会解析成{http://xxx}name,所以查找的时候也需要用{http://xxx}name才能找到。
附一个转换函数:
#xml有namespace的转换成正常可解析的值  有则转换,没有则返回原值
def ParseNameSpace(class="lazy" data-src, nsName, nsValue):
	if class="lazy" data-src.find(nsName) != -1:
		dst = class="lazy" data-src.replace('%s:' % nsName, '{%s}' % nsValue)
		print 'ns class="lazy" data-src:%s dst:%s' % (class="lazy" data-src, dst)
		return dst

	return class="lazy" data-src






免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Python xml解析记录

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Python xml解析记录

Python的xml解析方式自带的有3种,xml.dom.*、xml.sax.*以及xml.etree.ElementTree,相对来说,xml.etree.ElementTree最快捷方便。因为自己只使用了xml.etree.Elemen
2023-01-31

Python 解析XML

Python中对两种解析方式的解释:The Python standard library provides a minimal but useful set of interfaces to work with XML.The two m
2023-01-31

Python XML解析

Python XML解析----http://www.w3cschool.cn/python/python-xml.htmlPython中使用ElementTree对XML文件进行解析----http://www.jianshu.com/p
2023-01-31

Python XML解析之Element

参考网址:http://www.runoob.com/python/python-xml.htmlhttps://docs.python.org/2/library/xml.etree.elementtree.html菜鸟教程提供了基本的X
2023-01-30

Python XML解析之DOM

DOM说明:DOM:Document Object Model APIDOM是一种跨语言的XML解析机制,DOM把整个XML文件或字符串在内存中解析为树型结构方便访问。https://docs.python.org/2/library/xm
2023-01-30

python xml解析实例详解

python xml解析 first.xml 1 fsy 24 2
2022-06-04

Python中怎么解析XML

本篇文章给大家分享的是有关Python中怎么解析XML,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Python解析XML代码示例:< text > < font size="
2023-06-17

Python解析XML字符串

# -*- coding: utf-8 -*-    import xml.sax  import xml.sax.handler    class XMLHandler(xml.sax.handler.ContentHandler):  
2023-01-31

Python中如何解析XML

Python中如何解析XML,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。什么是XML?XML是可扩展标记语言(Extensible Markup Langua
2023-06-17

Python解析XML实例分享

本篇内容主要讲解“Python解析XML实例分享”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python解析XML实例分享”吧!Python 对 XML 的解析常见的 XML 编程接口有 DO
2023-06-02

[转载] python 解析xml 文件

环境python:3.4.4准备xml文件首先新建一个xml文件,countries.xml。内容是在python官网上看到的。 2023-01-30

python处理XML解析(读取)

# -*- coding:utf-8 -*-__author__ = 'magicpwn'from xml.etree import ElementTree# 向parse()传递一个打开的文件句柄 ,读取解析并返回一个Elementtre
2023-01-31

Python如何解析 XML 文档

本文详解Python解析XML文档的方法,包括ElementTree、SAX、lxml和minidom。选择解析器取决于特定需求,如文档大小、自定义要求和高级功能(如XPath)。ElementTree简单易用,适合中小文档;SAX高效,适用于大型文档;lxml功能强大,支持高级功能;minidom提供DOM树直接访问。
Python如何解析 XML 文档
2024-04-02

xml解析

XML 指可扩展标记语言(eXtensible Markup Language)。XML 被设计用来传输和存储数据。而HTML被用来显示数据。XML是一套定义语义标记的规则,这些标记将文档分成许多部件并对这些部件加以标识。它也是元标记语言,
2023-01-30

Python如何释放 XML 解析器

在Python中,释放XML解析器至关重要,以释放内存并防止泄漏。可以通过使用ElementTree库中的clear()方法、iterparse()方法或parse()函数的free()方法来实现。在Python3.8及以上版本中,使用xml.etree.ElementPath库代替ElementTree。释放XML解析器是保持应用程序运行高效的关键步骤。
Python如何释放 XML 解析器
2024-04-02

Python如何创建 XML 解析器

本指南介绍了在Python中创建XML解析器的各种方法,包括DOM解析器、SAX解析器、lxml库和ElementTree模块。每种方法的优点和缺点都有详细说明,以便读者根据其特定需求选择最佳解析器。DOM解析器提供对文档结构的全面访问,而SAX解析器更快、更节内存。lxml结合了DOM和SAX的优点,ElementTree提供了速度和内存效率之间的平衡。
Python如何创建 XML 解析器
2024-04-02

python之解析最简单的xml

1、person.xm文件如下2、用xml.etree.ElementTree解析person.xml的实现3、效果如下4、总结python里面的list = []相当于java里面的list,然后可以改变其中的值。
2023-01-31

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录