Python中的Unicode libxml2
问题描述:
我有一个问题我试图测试xhtml文档中的搜索功能。搜索应该支持阿拉伯文和英文文本。我是python和libxml2的新手,所以我很难搞清楚如何去做。Python中的Unicode libxml2
尽管在线工具(如http://www.freeformatter.com/xpath-tester.html#ad-output)会返回我需要的确切结果,但我总是会得到一个带有阿拉伯文字的空白结果(英文,它完美地起作用)。
import libxml2
doc = libxml2.parseFile("content.xhtml")
ctxt = doc.xpathNewContext()
xPathQuery = "//*[contains(text(), 'تجربة')]"
res = ctxt.xpathEval(xPathQuery)
doc.freeDoc()
ctxt.xpathFreeContext()
也使用Unicode字符串没有工作:
xPathQuery = u"//*[contains(text(), 'تجربة')]"
甚至:
xPathQuery = u"//*[contains(text(), 'تجربة')]"
res = ctxt.xpathEval(xPathQuery.encode('utf-8'))
答
它竟然是用代码文件编码本身的问题,我救了它在Unicode和它的工作。
雅我做了,我刚刚更新了问题。仍然不起作用,thanx :) – 2014-09-28 14:54:25