c# - 在 C# 中具有相同类名的不同 HTML 节点
问题描述
我HTMLAgilityPack
用来解析网站的 HTML。
问题是:There are two nodes with class "price"
。我可以通过检查来区分它们DOM
。所以上面 3 级,我想要的价格有 class 的父节点product-top
,而我不想要的节点有 class advertisement
3 以上的级别。
像这样:
<div class="product-top">
<div class="xy">
<div class="zz">
<div class="price">THIS IS WHAT I WANT>
close all
<div class="advertisement">
<div class="xy2">
<div class="zz2">
<div class="price">THIS IS WHAT I DO NOT WANT>
close all
如何使用HTMLAgilityPack
C# 访问第一个示例中的节点?
提前致谢
解决方案
您可以使用以下 XPath 表达式:
//div[@class='product-top']//div[@class='price']
或者,如果您特别想要以上 3 个级别:
//div[@class='product-top']/div/div/div[@class='price']
推荐阅读
- html - 使 DIV 向下滚动隐藏在 body 后面
- xml - python在xtree标签名称中插入架构url
- css - 在“渲染:背景”日历上显示事件标题
- python - 如何使用 numpy 将 uint32 整数写入 4 字节序列?
- javascript - Cropper - 以多边形裁剪图像
- openlayers - 如何通过无限平移(OpenLayers)获取投影特征的坐标
- credentials - 使用本地管理员凭据在服务器之间复制项目
- javascript - Javascript Image 对象未绘制到 2D 画布
- wordpress - 从WordPress中的插件实例化一个类
- r - 为树模型确定 R 中特定结果的概率