我想搜索XML文檔中的字符串,然後打印出包含該字符串的整個元素或元素。這是到目前爲止我的代碼:列表無法序列化錯誤,當使用Xpath lxml etree
post = open('postf.txt', 'r')
postf = str(post.read())
root = etree.fromstring(postf)
e = root.xpath('//article[contains(text(), "stuff")]')
print etree.tostring(e, pretty_print=True)
這是一個正在從postf.txt搜索的XML
<stuff>
<article date="2014-05-18 17:14:44" title="Some stuff">More testing
debug
[done]
<tags>Hello and stuff
</tags></article>
</stuff>
最後,這是我的錯誤:
File "cliassis-1.2.py", line 107, in command
print etree.tostring(e, pretty_print=True)
File "lxml.etree.pyx", line 3165, in lxml.etree.tostring (src\lxml\lxml.etree.c:69414)
TypeError: Type 'list' cannot be serialized.
我希望這樣做,是搜索包含我搜索的字符串的所有元素,然後打印出標籤。所以,如果我有測試之類的東西,我搜索「測試」,我希望它打印出「測試和東西
這工作完美,解釋讓我明白爲什麼它不工作。謝謝。 :d – Vales