- 浏览: 426976 次
- 性别:
文章分类
最新评论
-
nianhua2008:
你好,请问哪个cocos版本可以读取cbx文件?
Cocos3dx入门 -
ihic11:
我的为什么Receive.jsp一直有乱码?请帮忙
网银在线支付注意事项 -
奔跑的蓝猫:
楼主你好!请问这两个文件怎么使用啊?
楼主能把源代码发给我下吗 ...
简易视频聊天 -
wx_hello:
不错。。学习了。。
jquery解析xml -
ocaicai:
圣人啊,救星啊,我被这个问题折磨得蛋疼!对了,我在google ...
struts2+urlrewrite
# -*- coding:UTF-8 -*- ''' Created on 2010-4-20 @author: 忧里修斯 ''' import xml.etree.ElementTree as ET import xml.dom.minidom as minidom from addrbook.domain import Person class Converter(object): ''' 实现Python对象与xml之间的相互转换 ''' root = None#根节点 def __init__(self): pass @staticmethod def createRoot(rootTag): ''' 创建根节点 ''' root = ET.Element(rootTag) return root @staticmethod def getXmlString(element,defaultEncoding='utf-8'): ''' 根据节点返回格式化的xml字符串 ''' try: rough_string = ET.tostring(element, defaultEncoding) reparsed = minidom.parseString(rough_string) return reparsed.toprettyxml(indent=" " , encoding=defaultEncoding) except: print 'getXmlString:传入的节点不能正确转换为xml,请检查传入的节点是否正确' return '' @staticmethod def classToElements(classobj,rootTag=None): ''' 根据传入的对象的实例,根据对象的属性生成节点,返回由节点组成的列表 classobj:对象的实例 rootTag:根节点名称 ''' attrs = None#保存对象的属性集 elelist = []#节点列表 try: attrs = classobj.__dict__.keys()#获取该对象的所有属性(即成员变量) except: print 'classToElements:传入的对象非法,不能正确获取对象的属性' if attrs != None and len(attrs) > 0:#属性存在 for attr in attrs: attrvalue = getattr(classobj, attr)#属性值 #属性节点 attrE = ET.Element(attr) attrE.text = attrvalue #加入节点列表 elelist.append(attrE) return elelist @staticmethod def classToXML(classobj,rootTag=None): ''' Python自定义模型类转换成xml,转换成功返回的是xml根节点,否则返回None classobj:对象的实例 rootTag:根节点名称 ''' try: classname = classobj.__class__.__name__ #类名 if rootTag != None: root = Converter.createRoot(rootTag) else: root = Converter.createRoot(classname) elelist = Converter.classToElements(classobj, rootTag) for ele in elelist: root.append(ele) return root except: print 'classToXML:转换出错,请检查的传入的对象是否正确' return None @staticmethod def collectionToXML(listobj,rootTag='list'): ''' 集合(列表、元组、字典)转换为xml,转换成功返回的是xml根节点,否则返回None ''' try: classname = listobj.__class__.__name__ #类名 root = Converter.createRoot(rootTag) if isinstance(listobj, list) or isinstance(listobj, tuple):#列表或元组 if len(listobj) >= 0: for obj in listobj:#迭代列表中的对象 itemE = Converter.classToXML(obj) root.append(itemE) elif isinstance(listobj, dict):#字典 if len(listobj) >= 0: for key in listobj:#迭代字典中的对象 obj = listobj[key] itemE = Converter.classToXML(obj) itemE.set('key', key) root.append(itemE) else: print 'listToXML:转换错误,传入的对象:'+classname+'不是集合类型' return root except: print 'collectionToXML:转换错误,集合转换成xml失败' return None if __name__ == '__main__': p1 = Person('dredfsam','男','133665') p2 = Person('dream','女','r') p3 = Person('得分','男','sdf') personList = {} personList['p1']= p1 personList['p2']= p2 personList['p3']= p3 # personList.append(p1) # personList.append(p2) # personList.append(p3) root = Converter.collectionToXML(personList) print Converter.getXmlString(root) # plist = (p1,p2,p3)#{'name':'sdf'} # print type(plist) # print type(plist),isinstance(plist, list)
发表评论
-
ubuntu下使用apache发布Django应用
2010-12-20 09:21 2167一、安装Django 1、下载地址 http://www.dj ... -
【转】Python如何使用urllib2获取网络资源
2010-10-29 20:04 1927urllib2是Python的一个获取URLs(Uniform ... -
python获取系统、平台相关的信息
2010-10-26 16:23 1020python获取系统、平台相关的信息 可使用以下两个模块: ... -
python打印详细的异常信息
2010-09-20 15:44 1233import traceback print trace ... -
python编码问题
2010-08-23 13:26 4308出现错误: UnicodeDecodeError: 'asc ... -
python比较值类型是否为字符串
2010-08-04 14:56 843value:要判断的值 isinstance(value ... -
使用C/C++扩展Python
2010-07-20 16:20 0方式一、使用VC++6.0 1、配置VC++6.0环境 1) ... -
Python sqllit实例
2010-07-15 10:21 16831、操作数据库 # -*- coding: UTF-8 -* ... -
Python日期计算
2010-05-28 10:38 15961、将字符串转换成date nowDate = time.st ... -
python发送邮件
2010-05-27 11:15 3200# -*- coding:UTF-8 -*- ''' ... -
Python多线程实例
2010-05-08 17:01 1598特别注意: 加锁的位置一定要只包住临界资源,如: self.s ... -
Python实现ping命令
2010-05-08 12:49 10660#!/usr/bin/env python # -*- co ... -
wxPython GUI菜单示例
2010-05-07 22:31 16471、main.py #!/usr/bin/env python ... -
py2exe简单使用
2010-05-06 15:46 13271、首先下载已安装的对应Python版本的py2exe 2、将 ... -
Python截屏程序
2010-05-06 13:31 2386说明:必须安装PIL库 # -*- coding:UTF-8 ... -
Python HTTP文件上传
2010-05-06 11:08 9388# -*- coding:UTF-8 -*- ''' Cr ... -
文件夹差异文件对比工具
2010-05-05 15:44 1469# -*- coding:UTF-8 -*- ''' Cr ... -
Python获取本机公网IP(windows、Linux下通用)
2010-04-23 15:24 3600class Getmyip: def getip(s ... -
Python随机生成字符串
2010-04-22 15:25 1610class RandomUtil(): ... -
Python执行外部程序
2010-04-21 15:52 3969# -*- coding:UTF-8 -*- impo ...
相关推荐
主要介绍了Python实现对象转换为xml的方法,结合实例形式分析了Python对象属性、节点的操作及与xml相互转换的相关实现技巧,需要的朋友可以参考下
untangle:将XML文档转换为Python对象,使其可以方便的访问
untangle, 将XML转换为 python 对象 解开 文档文档将XML转换为 python 对象。具有相似名称的同级将分组到列表中。子对象可以使用 parent.child 访问,具有 element['attribute']的属性。你可以使用文件名。URL或
换句话说,它可以将Python对象转换为XML,也可以将该XML返回原始Python对象。 它在对象树和XML树上使用了预遍历树算法。 该算法为O(n),并使用一些编译器构造技术作为备注来创建对象树中每个元素的唯一实例。 它...
解开将XML转换为Python对象。 具有相似名称的兄弟姐妹被分组到一个列表中。 可以使用parent.child来访问子级,使用element['attribute']属性来访问子级。 您可以使用文件名,URL或XML字符串调用parse()方法。 替换- ...
一个用Python实现的将XML源文件转化成Python对象结构的转换器。使用时请将转化规则写到config.xml文件中。使用该程序后可以避免每次都写冗长的读取xml文件创建对象结构的过程。当使用混合编程时,该程序也可以被用于...
这是为什么 Python如此优秀的原因之一——它是由一群希望看到一个更加优秀的Python的人创造并经常改进着的。 高层语言————当你用Python语言编写程序的时候,你无需考虑诸如如何管理你的程序使用的内存一类的...
Python 的创始人为Guido van Rossum,它是一种简单易学, 功能强大的编程语言。它有高效率的高层数据结构,简单而有效 地实现面向对象编程。Python 简洁的语法和对动态输入的支持, 再加上解释性语言的本质,使得它...
15.7 Python中可用的XML库 257 15.8 SAX的含义 257 15.8.1 基于流 258 15.8.2 事件驱动 258 15.8.3 DOM的含义 258 15.8.4 内存中访问 258 15.9 使用SAX或者DOM的 理由 259 15.9.1 能力权衡 259 15.9.2 内存考虑 259 ...
Python处理对对象的引用。 第5章,用户输入和输出,将解释如何使用不同的特性 print()函数。 我们还将研究用于提供用户输入的不同功能。 第6章,类和对象的基础知识,将创建实现若干个 统计公式。 第7章,更高级的类...
分别从xml字符串和xml文件转换为xml对象,然后解析xml内容,查询指定信息字段。 from xml.dom.minidom import parse, parseString from xml.etree import ElementTree import xml.dom.minidom Get XML String info...
1、资源内容:Objects365/COCO数据集转换为xml格式,并转为yolo的txt格式,xml数据统计更改 2、代码特点:内含运行结果,不会运行可私信,参数化编程、参数可方便更改、代码编程思路清晰、注释明细,都经过测试运行...
本文实例讲述了Python中xml和json格式相互转换操作。分享给大家供大家参考,具体如下: Python中xml和json格式是可以互转的,就像json格式转Python字典对象那样。 xml格式和json格式互转用到的xmltodict库 安装...
12.5 将一个XML文档转化成Python对象树 449 12.6 从XML DOM节点的子树中删除仅有空白符的文本节点 451 12.7 解析Microsoft Excel的XML 452 12.8 验证XML文档 454 12.9 过滤属于指定命名空间的元素和属性 455 ...
5.21 序列化Python对象 第六章:数据编码和处理 6.1 读写CSV数据 6.2 读写JSON数据 6.3 解析简单的XML数据 6.4 增量式解析大型XML文件 6.5 将字典转换为XML 6.6 解析和修改XML 6.7 利用命名空间解析XML...
一个明显的用例是将带有方法、大量属性等的复杂对象转换为用于序列化的 dicts(转换为 json/yaml/xml/pickle/whatever)。 您可以通过描述如何从对象中获取值以及如何使用简单的语法以脱水结构呈现它来控制脱水过程...
YOLOv5训练图像数据需要对图片打标签,标签的格式有许多,比较...我使用python编写了一个脚本,使用正则表达式提取标签对象的信息内容,再进行相应的处理,转化为txt文件。代码可读性强,简单明了,效率高,可下载。
将Python字典或其他本机数据类型转换为有效的XML字符串。 细节 支持item( int , float , long , decimal.Decimal , bool , str , unicode , datetime , none和其他类似数字的对象)和collection( list , ...
这意味着它是一个库,它将比较两个(lxml)XML树并生成一组将一棵树转换为另一棵树的操作。 要求 它支持Python 2.7和Python 3.4,但实际上,您应该使用Python 3,不是吗? xtdiff要求: 安装 xtdiff可以作为Python...