[英]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.