lxml XPath соответствует значению в Python - PullRequest
1 голос
/ 12 января 2012

Я не знаю, как XPath элемента в XML.

Я имею в виду, 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

1 Ответ

2 голосов
/ 12 января 2012

$ActionType необходимо заменить какой-то строкой - возможно, значение переменной ActionType?:

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