有没有办法在Python中分解长xpath行?

2024-10-02 08:24:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在将一些XPath从Perl脚本转换为Python。一切正常,但派林抱怨线路太长。在Perl中,我使用空格来分解长行,使XPath更具可读性

Perl示例:

my $node_list = $device->findnodes(
    "./templateObjects
        /TemplateObject[fieldName/text() = 'SCADAArea']
            /keyPairs
                /TemplateKeyValuePair[TemplateName/text() = '%AREA%']
                    /TemplateValue");

在Python中:

node_list = device.xpath( "templateObjects/TemplateObject[fieldName/text() = 'SCADAArea']/keyPairs/TemplateKeyValuePair[TemplateName/text() = '%AREA%']/TemplateValue")

Python中有更好的方法吗?我尝试了三重引号,但它不接受那样的XPath


Tags: text脚本nodedevicexpathperllistfieldname
1条回答
网友
1楼 · 发布于 2024-10-02 08:24:24

就像在评论中提到的,只需使用单独的字符串

node_list = device.xpath("templateObjects/TemplateObject[fieldName/text() = 'SCADAArea']/keyPairs/"
                         "TemplateKeyValuePair[TemplateName/text() = '%AREA%']/TemplateValue")

node_list = device.xpath("templateObjects"
                         "/TemplateObject[fieldName/text() = 'SCADAArea']"
                         "/keyPairs"
                         "/TemplateKeyValuePair[TemplateName/text() = '%AREA%']"
                         "/TemplateValue")

相关问题 更多 >

    热门问题