xml与xml在python中的使用
来源:互联网 发布:网络购物被骗怎么办 编辑:程序博客网 时间:2024/05/19 16:07
xml结构
典型例子
<xml version="1.0" encoding="gbk"><bookstore> <book category="CHILDREN"> <title>Herry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book> <book category="WEB"> <title>Learning XML</title> <author>E T R</author> <year>2003</year> <price>39.99</price> </book></bookstore>
元素
<bookstore>...</bookstore>
叫做元素, 上层额叫做父元素, 下层的叫做子元素
属性
<book category="CHILDREN">
中category是元素的属性, 属性的值必须用双引号
文本
<year>2005</year>
中2005为元素的文本
python解析方法
分类
python解析xml的方式有很多种,
1.dom方式
分为minidom和pulldom, 两种方式解析xml速度较慢,内存占用大
2.sax方式
sax方式速度较快,牺牲便捷性换取速度和内存占用
3.ElementTree(ET)方式
与dom方式相比, ET速度较快, api使用的更方便, 与SAX相比性能大致相仿, 但是用户使用起来更方便
ElementTree使用方法
版本
xml.etree.cElementTree 用c语言实现的, 速度更快
xml.etree.ElementTree 用python实现的
所以模块导入
try: import xml.etree.cElementTree as ETexcept ImportError: import xml.etree.ElementTree as ET
使用
该例子包含了自己wxpython程序的部分代码
<?xml version="1.0" encoding="utf-8" ?><!-- this xml filename is menu.xml--><menu> <File name="文件"> <Open bind="OnFileMenuOpen">打开</Open> <Save bind="OnFileMenuSave">保存</Save> <SaveAs bind="OnFileMenuSaveAs">另存为</SaveAs> <Exit bind="OnFileMenuExit">退出</Exit> </File> <Edit name="编辑"> <Colour bind="OnEditMenuColor">颜色</Colour> </Edit> <About name="关于"> <Author bind="OnHelpMenuAbout">作者</Author> </About></menu>
PaintMenuBar = wx.MenuBar()tree = ET.ElementTree(file='menu.xml') #打开xml文件root = tree.getroot() #getroot函数得到根元素for RootSon in root: TmpMenu = wx.Menu() for RootSonSon in RootSon: #可以用循环的方式来访问子元素 TmpMenuSon = TmpMenu.Append(-1, RootSonSon.text, RootSonSon.text) #RootSonSon.tag .text .attrib 分别代表标签, 文本, 属性 TmpFun = self.GetFunName(str(RootSonSon.attrib['bind'])) #访问属性时, 由于属性是字典, 必须通过字典的方式访问属性 self.Bind(wx.EVT_MENU, TmpFun, TmpMenuSon) PaintMenuBar.Append(TmpMenu, RootSon.attrib['name'])self.SetMenuBar(PaintMenuBar)
阅读全文
0 0
- xml与xml在python中的使用
- xml在html中的使用
- XML在Qt中的使用
- python中的xml.dom的使用
- 通配符在struts.xml中的使用
- android之 clipdraw 在 .xml中的使用
- Android中Shape 在xml中的使用
- [Unity基础]xml在unity中的使用
- python中的xml
- Python中的 XML-RPC
- 使用Python处理XML
- 使用Python处理XML
- python XML的使用
- xml中的与
- python使用 xml.sax解析xml
- Python提取xml中的字段
- 20Python中的XML操作
- 【XML】XML在项目中使用
- TCP通信
- Android studio 常见错误以及问题
- 面试(一)
- centos+Docker +Jenkins 自动化部署配置
- dispatch_semaphore (信号量)
- xml与xml在python中的使用
- zookeeper集群配置
- Java内部类详解
- vue中如何动态的绑定图片
- Win7下DVWA渗透测试平台的搭建与安装
- 阅读QtCreator需要知道的qmake
- OpenCl_CPU加速矩阵运算
- 集线器(Hub)和交换机(Switch)的区别
- 解决Winform中鼠标滚轮无法操作Panel滚动条的问题