我想知道你是否可以幫助我。我正在嘗試使用TFHpple
來解析使用Swift 1.2的HTML數據,但我在處理XPath表達式時遇到問題。我收到以下錯誤:XPath表達式不起作用/不正確TFHpple SWIFT 1.2
Optional(https://www.rac.co.uk/buying-a-car/car-passport/report/buyer/purchase/?BuyerVrm=yg06dxt)
XPath error : Invalid expression
//td[@class=‘CarMiniProfile-TableHeader’]/tdXPath error : Invalid expression //td[@class=‘CarMiniProfile-TableHeader’]/td
2016-03-01 16:26:23.645 CarCamera[1974:63769] Unable to evaluate XPath. empty nodes!!
我試圖使用XPath代碼
var XPathString = "//td[@class=‘CarMiniProfile-TableHeader’]/td"
我想獲得的信息是make
和進入汽車的model
。
<div>
<table class="CarMiniProfile-table">
<tbody>
<tr class="CarMiniProfile-tableFirstRow">
<td class="CarMiniProfile-tableHeader">
Make
</td>
<td>
FIAT
</td>
</tr>
<tr>
<td class="CarMiniProfile-tableHeader">
Model
</td>
<td>
PUNTO SPORTING M-JET
</td>
</tr>
<tr>
<td class="CarMiniProfile-tableHeader">
Colour
</td>
<td>
BLUE
</td>
</tr>
<tr>
<td class="CarMiniProfile-tableHeader">
Year
</td>
<td>
2006
</td>
</tr>
<tr>
<td class="CarMiniProfile-tableHeader">
Engine Size
</td>
<td>
1910 cc
</td>
</tr>
</tbody>
</table>
</div>
斯威夫特代碼:
var newURL = NSURL(string: "https://www.rac.co.uk/buying-a-car/car-passport/report/buyer/purchase/?BuyerVrm=\(numberplate)")
var htmlData: NSData = NSData(contentsOfURL: newURL!)!
var Parser = TFHpple(HTMLData: htmlData)
var XPathString = "//td[@class=‘CarMiniProfile-TableHeader’]/td"
var nodes = Parser.searchWithXPathQuery(XPathString) as NSArray
if(nodes.count == 0){
println("empty nodes!!")
}else{
for element in nodes
{
println(element.content)
}
}
也許這是因爲你正在使用的是字符不會被解釋爲引號,而不是''',或者因爲XPath引擎不支持謂詞(在'['和']'之間)。 –
除了捲曲引號外,你的XPath也是不正確的,試試:'var XPathString =「// td [@ class ='CarMiniProfile-TableHeader']」' –
我現在試試看,謝謝指出錯誤的引號。運輸署最終不需要?並且這會返回make或者fiat這個字, – Bobby