2009-09-30 100 views
1

之间,我有一些HTML获取数据HTML标签

<body> 
    <p id="errorMessage">System.Web.HttpException: Path '/DynamicData/DimOrganisations/List.aspx' was not found.</p> 
    <p>Generated: Tue, 29 Sep 2009 18:04:18 GMT</p> 

我想通过我的HTML搜索标签

p id="errorMessage" 

然后取出用HTML中的数据。因此,运行一些内容来查找标记并从开始标记和结束标记之间获取数据。所以最后我得到:

System.Web.HttpException: Path '/DynamicData/DimOrganisations/List.aspx' was not found. 

任何人都可以帮忙。我使用C#2008

感谢

马克

回答

4

您可以使用HTML Agility Pack解析HTML并找到元素/属性,你所需要的。

+0

+1:这是一个功能强大的库,使用解析器/ DOM是解决问题的最佳方法。 – TrueWill 2009-09-30 17:07:08

1

你如何解决这个问题将取决于你想要解决方案的普遍程度。如果您正在检查的HTML是由您的应用程序创建的,并且您可以保证其格式,那么您可以使用简单的正则表达式来解决问题。也就是说,如果你总是有:

<p id="errorMessage>Error message goes here.</p>

随后的正则表达式查找该模式是非常简单的编写,测试和维护。

但是,如果您在错误消息中允许任意HTML标记,那么您必须使用更复杂的东西,比如HTML解析器。

如果这是一个内部调试工具,我强烈建议您采用更简单的方法。为您的错误消息格式化HTML,以便使用最简单的方法进行解析。