c# - 如何以 Html 形式复制 Action 值
问题描述
我希望能够获得“The Merinda Flat Sandal In Silver”,这是一种形式,这是<p class="product_note">The Merinda Flat Sandal In Silver</p>
我想将其复制到下面代码中的字符串但获取文本而不是值的代码
string id = "https://www.factory54.co.il/products/Logo-canvas-sneakers-in-White-No-167";
Console.WriteLine(HtmlAgi(id));
}
public static string HtmlAgi(string url)
{
var Webget = new HtmlWeb();
var doc = Webget.Load(url);
HtmlNode ourNode = doc.DocumentNode.SelectSingleNode(("//form[@class]"));
if (ourNode != null)
{
return ourNode.GetAttributeValue("class", "");
}
else
{
return "not fount";
}
}```
```<div class="produtshow clearfix">
<h1 id="manufacturer_header"><a href="https://www.factory54.co.il/designers/stuart-weitzman" title="Stuart Weitzman">Stuart Weitzman</a> <p class="product_note">The Merinda Flat Sandal In Silver</p>
</h1>
</div>```
And here is where the text is in the html file (this is located in a form)
解决方案
将 SelectSingleNode 行更改为:
HtmlNode ourNode = doc.DocumentNode.SelectSingleNode(("//form[@action]"));
要读取多个 for 元素,请使用:
static void Main(string[] args)
{
string id = "https://www.factory54.co.il/products/Logo-canvas-sneakers-in-White-No-167";
HtmlAgi(id);
}
public static void HtmlAgi(string url)
{
var Webget = new HtmlWeb();
var doc = Webget.Load(url);
var ourNodes = doc.DocumentNode.SelectNodes(("//form[@action]"));
foreach (var node in ourNodes)
Console.WriteLine(node.GetAttributeValue("action", ""));
}
由你决定你想要哪一个。
推荐阅读
- asp.net-mvc - 使用多个搜索框在 Asp.net(实体框架)中进行多重搜索
- python - 如何加入两个 Spark 结构化流?
- javascript - 通过操作 CSS 文件和我的 Javascript 文件仅显示具有特定 id 的 div
- c++ - 内存地址在 8 位后被截断
- r - r 国家和部门的总值
- reactjs - 为什么我的 POST 请求会导致 404 错误?
- db2 - 重启 DB2 服务后,应用服务器在数据库连接中得到 ERRORCODE=-4499, SQLSTATE=58009
- spring-boot - 如何将 POJO 传递给 SpringBoot 应用程序的运行方法?
- api - 不获取访问令牌
- javascript - 在不使用内置 array.pop() 函数的情况下从数组中弹出最后一项