[英]How to get all strings from all nested tags of a xml tag with python's lxml.etree library?
我有一個 xml 文件,其中可能會發生以下情況:
...
<a><b>This is</b> some text about <c>some</c> issue I have, parsing xml</a>
...
編輯:讓我們假設,標簽可以嵌套不止一個級別,這意味着
<a><b><c>...</c>...</b>...</a>
我使用 python lxml.etree 庫想出了這個。
context = etree.iterparse(PATH_TO_XML, dtd_validation=True, events=("end",))
for event, element in context:
tag = element.tag
if tag == "a":
print element.text # is empty :/
mystring = element.xpath("string()")
...
但不知何故,它出錯了。
我想要的是整個字符串
"This is some text about some issue I have, parsing xml"
但我只得到一個空字符串。 有什么建議么? 謝謝!
這個問題已經被問過很多次了。
您可以使用lxml.html.text_content()
方法。
import lxml.html
t = lxml.html.fromstring("...")
t.text_content()
REF: 過濾掉 HTML 標簽並解析 python 中的實體
或使用lxml.etree.strip_tags()
方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.