我有一些我正在使用C#
解析的HTML下面是示例文本,尽管使用不同的记录重复约150次
<strong>Title</strong>: Mr<br>
<strong>First name</strong>: Fake<br>
<strong>Surname</strong>: Guy<br>
我正在尝试将文本放在一个类似于
的数组中customerArray [0,0] = Title
customerArray [0,1] = Mr
customerArray [1,0] = First Name
customerArray [1,1] = Fake
customerArray [2,0] = Surname
customerArray [2,1] = Guy
我可以在数组中获取文字,但是我在STRONG关闭标签后获取文本时遇到问题,直到BR标记然后找到下一个STRONG标记
任何帮助将不胜感激
答案 0 :(得分:3)
您可以使用XPath following-sibling::text()[1]
在每个strong
之后直接找到文本节点。这是一个最小但完整的例子:
var raw = @"<div>
<strong>Title</strong>: Mr<br>
<strong>First name</strong>: Fake<br>
<strong>Surname</strong>: Guy<br>
</div>";
var doc = new HtmlDocument();
doc.LoadHtml(raw);
foreach(HtmlNode node in doc.DocumentNode.SelectNodes("//strong"))
{
var val = node.SelectSingleNode("following-sibling::text()[1]");
Console.WriteLine(node.InnerText + ", " + val.InnerText);
}
<强> dotnetfiddle demo
强>
输出
Title, : Mr
First name, : Fake
Surname, : Guy
你应该可以删除&#34;:&#34;通过简单的字符串操作,如果需要......
答案 1 :(得分:1)
SELECT CONCAT(INSTRUCTOR.FIRST_NAME, INSTRUCTOR.LAST_NAME) AS INSTRUCTOR_NAME
是一个常见标记,因此您提供的示例格式特定。
<strong>