gpt4 book ai didi

c# - 如何使用 html 敏捷包在 c# 中获取 html 文档的 html 元素的 id?

转载 作者:太空宇宙 更新时间:2023-11-03 15:57:41 25 4
gpt4 key购买 nike

我有这样的东西

<div class='mainclass subclass1' quest-id='123'> </div>
<div class='mainclass subclass2' quest-id='234'> </div>
<input quest-id='3236'> </input>
<textarea quest-id='256'> </textarea>

我想要 quest-d属于名为 subclass1 的类的所有 div , subclass2quest-id所有输入和文本区域。我如何在 C# 中使用 html 敏捷包来做到这一点?

我有这样的 C# 代码:

HtmlDocument document = new HtmlDocument();
document.LoadHtml(obj.NewPage.Content);

HtmlNode htmlRootElement = document.DocumentNode.SelectSingleNode("/html");
HtmlNode bodyElement = htmlRootElement.SelectSingleNode("body");

我不知道怎么办

最佳答案

遵循XPath可以从这个问题中发布的示例html中获取所有quest-id值:

//div[contains(@class, 'subclass1') or contains(@class, 'subclass2')]
| //input[@quest-id]
| //textarea[@quest-id]

工作示例:

var html = @"<root><div class='mainclass subclass1' quest-id='123'> </div>
<div class='mainclass subclass2' quest-id='234'> </div>
<input quest-id='3236'> </input>
<textarea quest-id='256'> </textarea></root>";
var doc = new HtmlDocument();
doc.LoadHtml(html);

var nodes =
doc.DocumentNode
.SelectNodes("//div[contains(@class, 'subclass1') or contains(@class, 'subclass2')]"
+ " | //input[@quest-id] "
+ " | //textarea[@quest-id]");
foreach (var node in nodes)
{
Console.WriteLine(node.GetAttributeValue("quest-id", ""));
}

关于c# - 如何使用 html 敏捷包在 c# 中获取 html 文档的 html 元素的 id?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22828767/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com