我有一个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: </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)。
我如何获得价值?
感谢。
答案 0 :(得分:2)
您应该使用HtmlAgilityPack,然后获取该行的文本值。这将消除代码段中的所有HTML元素。
var doc = new HtmlDocument();
doc.LoadHtml( stringWithHtml );
var element = doc.DocumentNode.ChildNodes["tr"];
var text = element.InnerText;
请注意,根据您的实际HTML,您可能需要使用导航到所需元素。