2017-04-20 54 views
0
<tr id="5" class="altRow "> 
    <td>37</td> 
    <td>$CUSTOM_MESSAGE_13$</td> 
    <td>0</td> 
    <td></td> 
</tr> 

大家好,我正在與Xamarin iOS應用程序,我需要檢索某個PHP頁面的價值,因爲我不能用Xamarin中的Xpath代碼,我必須使用Linq在上面的代碼中獲取值低於$CUSTOM_MESSAGE_13$的值0。有人能幫助我嗎?的使用LINQ和HTML敏捷性包iOS應用程序解析PHP頁面

我試着使用下面的代碼,但我不知道如何完成它。

var msg = 
    (from td in html.DocumentNode.Descendants("td") 
    where td.InnerText.ToLower() == "$CUSTOM_MESSAGE_13$" 
    select td).FirstOrDefault(); 
var info = msg.ToString(); 
TextE1.Text = info; 

我試圖用this tutorial但我認爲問題是,0是在同一個節點是$CUSTOM_MESSAGE_13$,我不知道怎麼回去。

另一個精度,我嘗試返回的值是在一個表中,但我不知道如何提取它。

Link of the screenshot of the table

+0

使用跳過()在你的LINQ去「下一個」節點 – Jason

+0

你有你在哪裏使用ToLower將(),然後試圖匹配一個大寫常數的問題。 – NetMage

回答

0

LINQ的是不通過數據順序地掃描正確的工具。理論上,Descendants()函數可以以任何順序返回td元素。但是,你可以試試:

var tds = html.DocumentNode.Descendants("td").ToArray(); 
var msg = tds[Array.FindIndex(td => td.ToUpper() == "$CUSTOM_MESSAGE_13$")+1]; 
var info = msg.ToString(); 
TextE1.Text = info; 
+0

謝謝我有find.index函數的語法,但我認爲它會起作用。 – Bak