在不使用正则表达式的情况下获取HTML DIV标记的数据

本文关键字:HTML DIV 数据 获取 情况下 正则表达式 | 更新日期: 2023-09-27 18:20:54

大家好,

关于C#.net,我有一个问题。我想做的是,基本上我只有一个HTML页面我想从它的DIV标签中提取数据,这是HTML:的示例

<div class="clr fleft">     
    <strong class="xx-large">033 111 22222</strong>
</div>

现在我想得到那些在"xx大"标签里面的数字。我需要一些帮助。

在不使用正则表达式的情况下获取HTML DIV标记的数据

您可以使用HtmlAgilityPack

var doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(htmlstring);

使用XPATH、

var data = doc.DocumentNode.SelectSingleNode("//*[@class='xx-large']").InnerText;

使用Linq、

var data = doc.DocumentNode.Descendants()
            .Where(x => x.Attributes["class"] != null && x.Attributes["class"].Value == "xx-large")
            .First()
            .InnerText;

正如我所知,您不能仅通过c#(服务器端代码)访问它们。您必须编写一些javascript代码才能做到这一点。(您的javascript代码可能没有正则表达式)

您所需要的只是一个带有预定义解析器的库。您可以使用Beautiful Soup解析器(最初是用python编写的,可以与C#接口)来查看它是如何完成的http://ashomtwit.espace-technologies.com/4499480-BeautifulSoup_and_ASP_NET_C_.html或者您可以选择其他套餐。这些库具有预定义的正则表达式,并具有打开网页以收集信息的方法。使用这个非常简单。