我有一个XML文档,我使用xpath来查找使用该文本的特定节点。
例如,我想要找到的产品是具有许多产品节点的文件中的以下产品节点。
<product>
<code>10023</code>
<name>
<value language="en_US">There's Pippins and Cheese to Come</value>
<value language="en_CA">There's Pippins and Cheese to Come</value>
</name>
</product>
我正在使用xpath查询
node = self.productDoc.xpath("/product[name/value[text() = '{0}']]".format(self.Title))
来自Lxml模块的productDoc = etree.parse(FileLocation)
我的问题是:当我尝试选择上面提供的xpath路径的节点时,我得到无效的谓词。 我相信这个问题就是&#34;那里的Pippins和奶酪中的单引号&#34;文本 这是在弄乱xpath路径。 我该如何克服这个问题?
答案 0 :(得分:0)
单引号导致问题,您需要以某种方式在xpath中转义它或使用双引号,这应该可以工作
node = self.productDoc.xpath("/product[name/value[text() = \"{0}\"]]".format(self.Title))