为了个人使用,我试图解析一个小网页,以简单的网格显示法国足球锦标赛的结果。
var Url = "http://www.lfp.fr/mobile/ligue1/resultat.asp?code_jr_tr=J01";
WebResponse result = null;
WebRequest req = WebRequest.Create(Url);
result = req.GetResponse();
Stream ReceiveStream = result.GetResponseStream();
Encoding encode = System.Text.Encoding.GetEncoding(0);
StreamReader sr = new StreamReader(ReceiveStream, encode);
while (sr.Read() != -1)
{
Line = sr.ReadLine();
Line = Regex.Replace(Line, @"<(.|\n)*?>", " ");
Line = Line.Replace(" ", "");
Line = Line.TrimEnd();
Line = Line.TrimStart();
然后我真的没有线索要么逐行采取,要么采取行动 整个流程在一个,以及如何仅使用下一个将作为分数的数字来检索团队的名称。
最后,我想将两个团队的分数放在一个监听或xml中,以便将它与电话应用程序一起使用
如果有人有想法,那将非常感谢!
答案 0 :(得分:7)
答案 1 :(得分:1)
您可以将流放入XmlDocument,以便通过XPath之类的内容进行查询。或者您可以将LINQ to XML与XDocument一起使用。
虽然它并不完美,因为HTML文件并不总是格式良好的XML(我们不知道它!),但它是使用框架中已有的东西的简单解决方案。
答案 2 :(得分:0)
您需要一个SgmlReader,它可以在任何SGML文档(HTML文档确实是这样)上提供类似XML的API。
答案 3 :(得分:0)
您可以使用Regex.Match方法提取团队名称和分数。检查html以查看每行是如何构建的。这是屏幕抓取中的常用技术。