2012-01-12 90 views
1

我不知道如何在XML中对XPath元素进行XPath处理。lxml XPath匹配Python中的值

我的意思是,XML:

<General> 
    <Task> 
     <Startup value="some value" /> 
     <Shutdown value="some value" /> 
    </Task> 
    <Reset> 
     <Startup value="some value2" /> 
     <Shutdown value="some value2" /> 
    </Reset> 
</General> 

我试图通过一行代码来达到启动和关闭标签:

for SActStartup in nXML.xpath('//[$ActionType]/Startup',ActionType=ActionType): 
    print SActStartup.get('value') 

我是缺少在这里?

XPathEvalError: Invalid expression 

回答

2

$ActionType需要通过一些字符串替换 - 变量ActionType也许值:

for val in nXML.xpath('//{ActionType}/Startup/@value'.format(ActionType=ActionType)): 
    stdin, stdout, stderr = dssh.exec_command(val) 
+0

真..非常感谢你.. – 2012-01-12 14:01:47