2017-01-28 17 views
2

給定以下格式的HTML(在我的控制之外生成),如何提取文本'我想要的'使用Kanna如何訪問使用Kanna的HTML元素的文本

<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 S和\t s爲那裏的原始來源,所以在這裏只包括設備的完整性 - 我可以用.trimmingCharacters(in:)刪除)

鑑於我表示div節點XMLElement(節點是在Kanna XMLElement秒,無論源數據類型),我試過各種方式提取文本'我想要',但.text.content返回'這不是我想要的'

我以前使用Hpple,但它不像Swifty,需要更多的工作才能使用。考慮到同一節點的引用,Hpple將通過(node.children.last as! TFHppleElement).content產生預期的文本,而是尋找到看那源,它看起來像.content.text都返回的libxmlGetNodeContent(nodePtr)

結果是有我失蹤的另一種方法,或者這在Kanna中是一個缺點?

回答

1

看那讓您選擇使用XPath表達式節點,並希望節點是第二文本節點孩子在div元素,所以你應該能夠用它來獲取它:

divElement.xpath("text()[2]") 
+0

'文本( )'是我的XPath知識中的一個缺口,所以謝謝!它不想/需要領先的'/'。 – Chris

+0

很高興幫助(並編輯了答案以放棄主導斜線) – sideshowbarker

相關問題