繁体   English   中英

需要帮助以C#解析HTML

[英]Need help for parsing HTML in C#

对于个人用途,我试图解析一个小的html页面,以简单的网格显示法国足球锦标赛的结果。

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("&nbsp;", "");
                    Line = Line.TrimEnd();
                    Line = Line.TrimStart();

然后我真的不知道一个线索,要么是逐行,要么是整个流,以及如何只取回球队的名字和下一个将要得分的数字。

最后,我想将带分数的两个团队都放在一个liste或xml中,以将其与电话应用程序一起使用

如果有人有想法,将非常感谢!

您可以将流放入XmlDocument中 ,从而允许通过XPath之类的查询。 或者,您可以将LINQ to XMLXDocument一起使用。

不过,它并不完美,因为HTML文件并不总是格式正确的XML(我们不知道!),但这是使用框架中已有内容的简单解决方案。

您将需要一个SgmlReader ,它可以在任何SGML文档(实际上是HTML文档)上提供类似XML的API。

您可以使用Regex.Match方法提取球队名称和得分。 检查html以查看每一行是如何建立的。 这是屏幕抓取中的常用技术。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM