gpt4 book ai didi

python - 有子节点时如何获取XML节点的文本值

转载 作者:太空宇宙 更新时间:2023-11-04 06:15:06 27 4
gpt4 key购买 nike

我有这样的场景:

<fetch>
<xyz:match selector="ph-%"/>
tools.build.compiler
</fetch>

现在是 XML 节点 <fetch>具有子节点和文本值。我想提取 <fetch> 的文本值节点。我正在使用 python 和 Lxml 来解析 XML。我使用了 LXML 的 element.text但我得到的文本值为 None .谁能告诉我我在做什么错误?

最佳答案

您需要 child 的 tail 成员。

def get_text(node):
text = [node.text] + [child.tail for child in node]
return ''.join(x for x in text if x is not None)

您使用的模式有点奇怪。 LXML 旨在使用更传统的方式将数据编码为 XML,尽管它支持一般的 XML 解析,但除非您的模式简单明了,否则 .tail 的用法总是有点奇怪。

关于python - 有子节点时如何获取XML节点的文本值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16206416/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com