如何在Windows Phone 8.1上使用HtmlAgilityPack
本文关键字:HtmlAgilityPack Windows Phone | 更新日期: 2023-09-27 18:24:47
我使用HtmlAgilityPack为我想要为WindowsPhone8.1构建的应用程序制作了一个快速的C#/Mono原型。
将此代码转换为WP8.1和官方的.Net for Windows应用商店是很麻烦的。我只需要一个来获取类属性为"column3"的所有td节点。我该怎么做?对于我的非商店原型,使用SelectNodes可以很好地工作。
现在我明白了,对于Windows应用商店应用程序,SelectNodes和SelectSingleNode是缺失的。然而,我的问题是,使用linq和Decendants的建议替代方案也不起作用。
当然,我在谷歌上搜索过,但出于某种原因,所有的结果都包括下面的一个,或者它们的变体。
到目前为止我尝试过的:
var hits = doc.DocumentNode.SelectNodes("//td[@class='"column3'"]");
//SelectNodes is undefined
var hits = doc.DocumentNode.DescendantsAndSelf("td").Where(x => x.Name.ToLower() =="td");
//Where() is undefined
HtmlNode parent = doc.DocumentNode
.Descendants("ul")
.FirstOrDefault(o => o.GetAttributeValue("class", "")
== "songs-list1");
//doesn't do what i want it to, but FirstOfDefault is undefined
我怀疑您错过了所需的using语句。以下应返回属性class
等于"column3"
的所有<td>
节点:
using System.Linq;
.......
var hits = doc.DocumentNode
.Descendants("td")
.Where(o => o.GetAttributeValue("class", "")
== "column3")
.ToList();