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