def readStaticDictXml(path): # Initialize StaticDictCache() # Getting instance staticdictcache = StaticDictCache.getInstance() tree = etree.parse(path)#将xml解析为树结构 root = tree.getroot()#获得该树的树根 for level_1 in root:#这样便可以遍历根元素的所有子元素(这里是article元素) name=level_1.get("name")#用.get("属性名")可以得到article元素相应属性的值 title=level_1.get("title") if(name == None): continue staticdictcache.set(name,{'name':name,'title':title}) children = [] for level_2 in level_1:#遍历article元素的所有子元素(这里是指article的author,name,volume,year等) name=level_2.get("name")#用.get("属性名")可以得到article元素相应属性的值 title=level_2.get("title") if(name == None): continue children.append({'name':name,'title':title}) tmp = staticdictcache.get(level_1.get("name")) tmp['children'] = children staticdictcache.set(level_1.get("name"),tmp)
def dict(eval_ctx,dictName,selectValue,selectText): staticdictcache = StaticDictCache.getInstance() return staticdictcache.getDict(dictName,selectValue,selectText)