簡體   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