我正在使用lxml将xml文件解析为ElementTree对象。我正在构建注释应用程序,我需要到达文件中的确切位置。
我有相对的XPath和startOffset
的预期文本所在的位置。例如,在这段代码中:
<section role="doc-abstract">
<h1>Abstract</h1>
<p>The creation and use of knowledge graphs for information discovery, question answering, and task completion has exploded in recent years, but their application has often been limited to the most common user scenarios.</p>
</section>
我希望使用以下XPath ".//section[2]/p[1]"
获取“信息发现知识图”部分,以便我可以访问该<p>
元素。然后我将startOffset
变量等于“26”,这意味着文本是远离元素开头的26个字符。
我的问题是如何使用lxml找到确切的位置?
答案 0 :(得分:0)
考虑将您的 xml 存储在字符串中 - xml_string。
Apply code changes and restart activity
现在你可以处理这个节点了。此外,您可以使用循环来查找更多 node_elements,例如:root.findall()
有关 lxml 的更多参考:https://lxml.de/tutorial.html