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,及文件太大,便不上传

原创粉丝点击