gpt4 book ai didi

c# - 如何在C#中使用正则表达式通过id获取html div元素的innertext

转载 作者:行者123 更新时间:2023-11-30 14:43:48 25 4
gpt4 key购买 nike

我正在使用 WebClient 获取完整的 html 代码。但我需要使用正则表达式从完整的 html 中获取指定的 div。

例如:

<body>
<div id="main">
<div id="left" style="float:left">this is a <b>left</b> side:<div style='color:red'> 1 </div>
</div>
<div id="right" style="float:left"> main side</div>
<div>
</body>

如果我需要名为'main'的div,函数返回

<div id="left" style="float:left">this is a <b>left</b> side:<div style='color:red'> 1 </div>
</div>
<div id="right" style="float:left"> main side</div>

如果我需要名为'left'的div,函数返回

this is a <b>left</b> side:<div style='color:red'> 1 </div>

如果我需要名为'right'的div,函数返回

 main side

我该怎么办?

最佳答案

为什么人们坚持尝试使用正则表达式来解析 html?如果你排除一大堆边缘情况,你可能可以做到这一点......但只需使用 HTML Agility Pack你就完成了:

HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(...); // or Load
string main = doc.DocumentNode.SelectSingleNode("//div[@id='main']").InnerHtml;

(注意我假设它不是 xhtml;如果它是 xhtml,请使用 XmlDocumentXDocument,以及与上面非常相似的代码)

关于c# - 如何在C#中使用正则表达式通过id获取html div元素的innertext,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1431391/

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