我开发了一个asp.net应用程序,因为我使用htmlagility dll来获取所有<div>
标签,这些标签是相同的类属性。
如何从整个html页面获取所有具有相同类的元素,
我得到了排名第一的div,他们有类='myclass'但是,在
我的情况我想要所有拥有'myclass'类的div标签。
var vardoc = web.Load("<any website url>");
var varmyclass = doc.DocumentNode.SelectSingleNode("//div[@class='myclass']");
当我使用上面的方法然后我得到'myclass'的内部html内容但是在我的html内容中有许多div标签有'myclass'类。 我希望使用HTMLagility或其他
获得所有具有相同类的<div>
答案 0 :(得分:1)
在这种情况下,不要选择单个节点。
您正在使用SelectSingleNode
,它只返回一个节点。
改为使用SelectNodes
:
var varmyclass = doc.DocumentNode.SelectNodes("//div[@class='myclass']");
答案 1 :(得分:0)
您正在搜索这些节点的XML文档。
首先,您选择的单个节点只返回1.您需要使用SelectNodes。
示例:
var varmyclass = doc.DocumentNode.SelectNodes("//div[@class='myclass']");
更新 - 删除了我的Xpath建议,因为它没有按我认为的那样工作......
答案 2 :(得分:0)
两个问题,第一个是您应该使用SelectNodes()
而不是其他答案已指出,因为您要选择多个节点。
此外,您的XPath有点限制。它只会获得只有一个类div
的{{1}}元素,但不包含具有多个类的元素。我怀疑你想要包括那些。而不是检查类是否相等,检查它是否包含它。
myclass