python解析xml——generateDS.py
来源:互联网 发布:百度文库软件版本 编辑:程序博客网 时间:2024/06/06 12:50
1,安装generateDS.py
安装可使用easy_install generateDS或进入下载解压后在generateDS目录,命令行输入setup.py install
2,使用generateDS.py解析xml
首先将python安装目录下的scripts目录加入环境变量path,以便命令使用
进入需要解析的schema所在目录,generateDS.py -o xxx.py xxx.xsd
此时即生成了xxx.xsd的schema对应的python结构及相关解析功能
3,直接使用生成代码的解析功能
import xxx.py
doc = xxx.parser('xxx.xml')
该功能即将xml文档解析到了elementTree,并自动生成了打印方法,可打印出整个xml文件
4,使用解析xml中的某些值
doc = parsexml_('../../xmlModule/xmodel.xml') rootNode = doc.getroot() rootTag, rootClass = get_root_tag(rootNode) if rootClass is None: rootTag = 'variableType ' rootClass = variableType rootObj = rootClass.factory() rootObj.build(rootNode) print 'xmodel.attr =', rootObj.version_attr modelsObj = rootObj.get_models() modelObj = modelsObj.get_model() for model in modelObj : print model.get_file() print model.get_enabled() agentsObj = rootObj.get_agents() xagentObj = agentsObj.get_xagent() for xagent in xagentObj : print 'agentname =', xagent.get_name() print 'agentdes =', xagent.get_description() memoryObj = xagent.get_memory() variableObj = memoryObj.get_variable() for variable in variableObj : print 'mem.name =', variable.get_name()
rootObj为根节点的对象,下面显示了如何获取各个节点值由于xml,及文件太大,便不上传
- python解析xml——generateDS.py
- Python3.5环境下使用generateDS解析xml文件生成C++头文件的方法
- py解析xml
- Python——XML解析
- xml——python xml 解析
- Python——SSHClient.py
- The Zen of Python——this.py文件的解析
- Python实战1——address_book.py
- Python的基础—__init__.py介绍
- Python模块安装与setup.py解析
- python解析xml文件——通过etree来解析xml文件
- python——python manage.py runserver执行错误
- python学习笔记4——解析xml、文件操作
- Python——使用ElementTree解析AndroidManifest.xml文件
- Tensorflow学习笔记(8)——input_data.py解析
- Tensorflow学习笔记(8)——input_data.py解析
- python 解析XML xml.dom
- python 解析XML xml.dom
- error LNK2019:unresolved external symbol *** referenced in function ***的解决方案
- OpenCV2 轮廓处理 多边形逼近
- spring3.2 hibernate3.6 整合中 超类的使用HibernateDaoSupport
- 403 You don't have permission to access /phone/query_name.php
- OGRE EXCEPTION
- python解析xml——generateDS.py
- 300多条MTK工作笔记为你的工作节省一半时间
- 黑马程序员——网络编程
- 日积月累:EditText软键盘的显示和隐藏
- 过程:先Edit,然后SetFieldValue,接着Update,最后MoveNext
- 关于Spring的注入方式
- Java线程
- mysql权限问题
- RMAN还原恢复知识点小结