C# 使用Linq和Html Agility Pack解析ios应用程序的PHP页面 37 $CUSTOM_MESSAGE_13$ 0

C# 使用Linq和Html Agility Pack解析ios应用程序的PHP页面 37 $CUSTOM_MESSAGE_13$ 0,c#,html,ios,linq,xamarin,C#,Html,Ios,Linq,Xamarin,大家好,我正在使用Xamarin开发一个iOS应用程序,我需要在php页面中检索一个值,因为我不能在Xamarin中使用Xpath代码,所以我必须使用Linq获取上面代码中$CUSTOM_MESSAGE_13$下面的值0。有人能帮我吗 我试图使用下面的代码,但我不知道如何完成它 var msg = (from td in html.DocumentNode.Descendants("td") where td.InnerText.ToLower() == "$CUSTOM_ME

大家好,我正在使用Xamarin开发一个iOS应用程序,我需要在php页面中检索一个值,因为我不能在Xamarin中使用Xpath代码,所以我必须使用Linq获取上面代码中
$CUSTOM_MESSAGE_13$
下面的值
0
。有人能帮我吗

我试图使用下面的代码,但我不知道如何完成它

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;
我尝试使用,但我认为问题在于
0
$CUSTOM\u MESSAGE\u 13$
位于同一个节点中,我不知道如何返回它

另一个精度,我试图返回的值在表中,但我不知道如何提取它


Linq不是按顺序扫描数据的正确工具。理论上,subjects()函数可以按任意顺序返回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;

在LINQ中使用Skip()转到“下一个”节点您遇到了一个问题,即使用ToLower()然后尝试匹配大写常量。谢谢,我有find.index函数的语法,但我认为它可以工作。