当前位置: 首页 > 工具软件 > generateDS.py > 使用案例 >

python解析xml——generateDS.py

阙奇思
2023-12-01

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

 类似资料: