通过c#解析网页,XmlDocument.LoadXml

本文关键字:XmlDocument LoadXml 网页 通过 | 更新日期: 2023-09-27 18:18:00

我正在尝试下载一个网页并解析它。我需要到达html文档的每个节点。所以我用WebClient下载,效果很好。然后我使用以下代码段来解析文档:

 WebClient client = new WebClient();
 Stream data = client.OpenRead("http://web.cs.hacettepe.edu.tr/~bil339/");
 StreamReader reader = new StreamReader(data);
 string xml = reader.ReadToEnd();
 data.Close();
 reader.Close();
 XmlDocument xmlDoc = new XmlDocument();
 xmlDoc.loadXml(xml);

在最后一行,程序等待一段时间,然后崩溃。它说HTML代码中有错误,这不是预期的,不应该在这里,等等。有什么建议来解决这个问题吗?其他解析HTML代码的技术也是受欢迎的(当然是在c#中)

通过c#解析网页,XmlDocument.LoadXml

使用htmllagilitypack来解析HTML。格式良好的HTML不是XML,不能像XML那样解析。例如,它缺少所有XML文件都需要的<?xml version="1.0" encoding="UTF-8"?>序言。HTML敏捷包更宽容。