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

时间:2014-09-07 16:39:42

标签: c# html

尊敬的所有专家,您好

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

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

现在我想获得那些位于&#34; xx-large&#34;内的数字。标签。 我想要一些帮助。

3 个答案:

答案 0 :(得分:2)

您可以使用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;

答案 1 :(得分:0)

据我所知,您无法通过c#(您的服务器端代码)访问它们。您必须编写一些JavaScript代码才能执行此操作。 (你的javascript代码没有正则表达式)

答案 2 :(得分:0)

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