繁体   English   中英

python lxml xpath无法解析撇号引号

[英]python lxml xpath cannot parse apostrophe quote

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

xml 中的参数路径 = "node1/node2/param's name"

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}Invalid Expression 如果没有单引号,相同的代码可以正常工作。

我尝试在 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"]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM