使用HTML Agility Pack,其中包括一个DOM解析器 - 它永远不值得为HTML编写自己的解析器或RegExs。
http://www.nuget.org/packages/HtmlAgilityPack
在下面的例子中,你可以看到它是多么容易选择在使用XPATH的元素。因为你想要的值实际上不在元素中,所以我使用text()
来获取它们。
如果这是更大文档的一部分,您可以展开XPATH以反映它们在更宽文档中的位置。
string html = @"<span>Location:</span><br/>
50 Airport Road<br/>
Ottawa, CA <br/><br/>
<span>Latitude/Longitude:</span><br/>
40.32083/-71.67275<br/><br/>";
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(html);
// Getting an element (Location:)
var latLongLabel = doc.DocumentNode.SelectSingleNode("span[2]");
// The location is split over two text nodes
var locationValA = doc.DocumentNode.SelectSingleNode("text()[1]").InnerHtml.Trim();
var locationValB = doc.DocumentNode.SelectSingleNode("text()[2]").InnerHtml.Trim();
// The lat long
var latLongVal = doc.DocumentNode.SelectSingleNode("text()[4]").InnerHtml.Trim();
你有没有试过要求Google教授博士帮忙? – Marco 2014-09-10 13:27:38