鉴于以下表单的HTML(在我无法控制的情况下生成),如何使用Kanna提取文本'我想要的' ?
<div class="entry-meta">
\n\t\t\t<p>
<span class="tags-links">
<a href="http://example.com" rel="tag">This is not</a>
</span>
</p>
What I wanted\t\t
</div>\n
(\n
和\t
s在原始来源中,因此仅为了完整性而包含在此处 - 我可以使用.trimmingCharacters(in:)
删除它们
鉴于我有一个XMLElement
代表div
节点(Kanna中的节点为XMLElement
,无论源数据类型如何),我都试过各种方法来提取text &#39;我想要的&#39; ,但.text
和.content
都返回&#39;这不是我想要的&#39; < / em>的
我之前使用的是Hpple,但它并不像Swifty那样需要更多的工作才能使用。给定对同一节点的引用,Hpple会通过(node.children.last as! TFHppleElement).content
生成预期的文本,但是查看Kanna的来源,看起来.content
和.text
都返回{{1}的结果1}}
我还缺少另一种方法,或者这是Kanna的缺点吗?
答案 0 :(得分:1)
Kanna允许您使用XPath表达式选择节点,并且您想要的节点是该div
元素中的第二个文本节点子节点,因此您应该可以使用此节点:
divElement.xpath("text()[2]")