2
我試圖解析出各種html文件中mac上特定標記之間的文本。我正在尋找第一個<H1>
標題在身體。例如:xmllint解析html文件
<BODY>
<H1>Dublin</H1>
對此使用正則表達式我相信是反模式,所以我用xmllint和xpath來代替。
xmllint --nowarning --xpath '/HTML/BODY/H1[0]'
問題是一些HTML文件包含嚴重形成的標籤。所以我得到
parser error : Opening and ending tag mismatch: UL line 261 and LI
</LI>
問題的線條錯誤是我不能只是做,2>/dev/null
的話,我完全失去這些文件。有沒有什麼辦法,我可以在這裏使用XPath表達式,只是說,如果XML不完美,放鬆一下,只要給我第一個H1標題之間的值?
我得到更多的不匹配,當我做到這一點。而不是./myfile.html:131:分析器錯誤:打開和結束標記不匹配:UL行127和LI我得到HTML分析器錯誤:打開和結束標記不匹配:ul和td –
@MoreThanFive libxml2的HTML分析器不是很寬容。 '--recover'選項可能有助於您已經發現的'--nowarning'。 – nwellnhof
可能另一種工具更好嗎? – Thufir