我有以下 XML 片段:
...<span class="st">In Tim <em>Power</em>: Politieman...</span>...
我想提取之间的部分<span>
标签。
为此,我使用 XPath:
/span[@class="st"]
然而,这将提取所有内容,包括<span>
.
and.
/span[@class="st"]/text()
将返回两个文本元素的列表。其中一首包含“In Tim”。另一个“:政治家”。这<em>..</em>
不包括在内,并且像分隔符一样处理。
是否有一个纯 XPath 解决方案返回:
In Tim <em>Power</em>: Politieman...
EDIT感谢@helderdarocha 和@TextGeek。使用仅包含以下内容的 XPath 提取纯文本似乎并不简单<em>
.
/span[@class="st"]/node() 解决方案创建一个包含各个行的列表,在 Python 中创建一个字符串很简单。
To get any您可以使用子节点:
/span[@class="st"]/node()
这将返回:
- 两个子文本节点
- 完整的
<em>
节点(元素和内容)。
如果你真的想要所有text()
节点,包括里面的节点em
,然后得到所有的text()
后人:
/span[@class="st"]//text()
or
/span[@class="st"]/descendant::text()
这将返回三个文本节点,文本inside <em>
,但不是<em>
元素。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)