Python lxml xpath无法解析撇号引号



我正在尝试从带有以下路径的XML文件中读取参数:

XML 中的参数路径 = "节点 1/节点2/参数的名称">

parser = etree.parse(xml_file_path, etree.XMLParser(encoding='utf-8', recover=True, huge_tree=True))
parser.xpath("./SPLIT/NODE[contains(text(), 'node1')]/SPLIT/NODE[contains(text(), 'node2')]/SPLIT/NODE[contains(text(), 'param's name')]")

由于节点名称中的单引号,我得到了这个 eeror - {XPathEvalError}无效表达式 如果没有单引号,则相同的代码可以正常工作。

我尝试在 lxml xpath 文档中查找解决方案,但找不到任何机制来跳过这个单引号。 我确实发现了一个类似的问题,但它没有任何答案。 我也尝试用'替换单引号,但没有奏效。 请让我知道是否有办法跳过单引号或我在这里做错了什么。

您可以尝试以下选项。

parser.xpath("""./SPLIT/NODE[contains(text(), "node1")]/SPLIT/NODE[contains(text(), "node2")]/SPLIT/NODE[contains(text(), "param's name")]""")

总之

.//NODE[text()="node1/node2/param's name"]

最新更新