获取c#中不在标记中的HTML值

时间:2010-10-24 14:21:26

标签: xml regex string c#-4.0

我有一个HTML字符串,其格式如下:

<tr valign="top"><td colspan="2"  style="padding-bottom:5px;text-align: left"><label for="base_1001013" style="margin-bottom: 3px; float: left">Nom d'utilisateur:&nbsp;</label><span style="float: right;"><input class="PersonalDetailsClass" type="text" name="base_1001013" id="base_1001013" value="" /></span></td></tr>  

(抱歉格式化..)

无论如何,我需要获取不在标签中的值。 ie- Nom d'utilisateur (没有“&amp; nbsp”,但这是可以忽略的)。

标签的数量及其值可能会有所不同 - 请求的字符串中的字数甚至语言也可能不同。

我不确定这是一个正则表达式问题,一个XML问题,还是一个ac#字符串操作函数问题(没有特定的偏好)..但我更喜欢使用第三个-party dll(正如我所见,有时用于解析c#中的HTML)。

我如何获得价值?

感谢。

1 个答案:

答案 0 :(得分:2)

您应该使用HtmlAgilityPack,然后获取该行的文本值。这将消除代码段中的所有HTML元素。

var doc = new HtmlDocument();
doc.LoadHtml( stringWithHtml );
var element = doc.DocumentNode.ChildNodes["tr"];
var text = element.InnerText;

请注意,根据您的实际HTML,您可能需要使用导航到所需元素。