HtmlAgility:未显示任何内容(C#,UWP)

HtmlAgility:未显示任何内容(C#,UWP),c#,html,win-universal-app,uwp,html-agility-pack,C#,Html,Win Universal App,Uwp,Html Agility Pack,我尝试使用htmlagilitypack解析一个表,在我解析完之后,我意识到我忘记了证明htmlagilitypack部分是否有效。 ... 很明显,它不起作用 我也不知道我错过了什么,我哪里做错了。。。 因为我是一个初学者。。。 所以请不要对我太苛刻 public partial class WebForm1 : System.Net.Http.HttpClient { protected void Page_Load(object sender, EventArgs e) {

我尝试使用htmlagilitypack解析一个表,在我解析完之后,我意识到我忘记了证明htmlagilitypack部分是否有效。 ... 很明显,它不起作用 我也不知道我错过了什么,我哪里做错了。。。 因为我是一个初学者。。。 所以请不要对我太苛刻

public partial class WebForm1 : System.Net.Http.HttpClient
{
    protected void Page_Load(object sender, EventArgs e)
    {

        System.Net.Http.HttpClient httpClient = new System.Net.Http.HttpClient();

        string header = "ie";
        if (!headers.UserAgent.TryParseAdd(header))
        {
            throw new Exception("Invalid header value: " + header);
        }

        header = "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)";
        if (!headers.UserAgent.TryParseAdd(header))
        {
            throw new Exception("Invalid header value: " + header);
        }

        HtmlAgilityPack.HtmlDocument htmlDoc = new HtmlAgilityPack.HtmlDocument();


        htmlDoc.LoadHtml(" http://www.eurogymnasium-waldenburg.de/egw_content/Stunden_Vertretungsplan/home.html");



        HtmlNode docNodes = htmlDoc.DocumentNode;

        HtmlNode navNode = htmlDoc.GetElementbyId("bereichaktionen");

        HtmlNode docNode = htmlDoc.DocumentNode.SelectSingleNode("/html/body[@class='ui-widget']/div[@id='main']/div[@id='vplan']/div[@id='bereichaktionen']");

        string nodeValue;

        nodeValue = (docNode.InnerText);

        Debug.WriteLine("nodeValue");
//我怀疑上面有什么问题,但我不确定是什么问题

        if (htmlDoc.ParseErrors != null && htmlDoc.ParseErrors.Count() > 0)
        {

        }
        else
        {

            if (htmlDoc.DocumentNode != null)
            {
                HtmlAgilityPack.HtmlNode bodyNode = htmlDoc.DocumentNode.SelectSingleNode("//body");

                if (bodyNode != null)
                {

                }
            }
        }
    }
源url在那里,你们可以试试

谢谢大家 用于UWP的X.L(以及WinRT和其他类似技术)不支持XPath。HTMLAGILITIPACK背后的人的回答

Html敏捷包依赖.NET实现XPATH。不幸的是,WinRT不支持XPATH,所以在WinRT的Html敏捷包中没有任何与XPATH相关的内容

UWP的HtmlAgilityPack(也包括WinRT和其他类似技术)不支持XPath。HTMLAGILITIPACK背后的人的回答

Html敏捷包依赖.NET实现XPATH。不幸的是,WinRT不支持XPATH,所以在WinRT的Html敏捷包中没有任何与XPATH相关的内容


首先,您当前使用的第三方软件包在universal app中不受支持。请使用universal app中支持的

其次,方法
htmlDoc.LoadHtml(string html)
的参数不是html站点的Uri,而是可以从webrequest响应中获得的html内容

因此,正确的代码应如下所示:

WebRequest request = HttpWebRequest.Create("http://www.eurogymnasium-waldenburg.de/egw_content/Stunden_Vertretungsplan/home.html");
WebResponse response = await request.GetResponseAsync();
Stream stream = response.GetResponseStream();
var result = "";
using (StreamReader sr = new StreamReader(stream))
{
    result = sr.ReadToEnd();
}
HtmlDocument htmlDoc = new HtmlDocument();
htmlDoc.LoadHtml(result);
var node = htmlDoc.DocumentNode.SelectSingleNode("/html/body[@class='ui-widget']/div[@id='main']/div[@id='vplan']/div[@id='bereichaktionen']");

我还将整个项目上传到github,您可以下载测试。

首先,您当前使用的第三方软件包在universal app中不受支持。请使用universal app中支持的

其次,方法
htmlDoc.LoadHtml(string html)
的参数不是html站点的Uri,而是可以从webrequest响应中获得的html内容

因此,正确的代码应如下所示:

WebRequest request = HttpWebRequest.Create("http://www.eurogymnasium-waldenburg.de/egw_content/Stunden_Vertretungsplan/home.html");
WebResponse response = await request.GetResponseAsync();
Stream stream = response.GetResponseStream();
var result = "";
using (StreamReader sr = new StreamReader(stream))
{
    result = sr.ReadToEnd();
}
HtmlDocument htmlDoc = new HtmlDocument();
htmlDoc.LoadHtml(result);
var node = htmlDoc.DocumentNode.SelectSingleNode("/html/body[@class='ui-widget']/div[@id='main']/div[@id='vplan']/div[@id='bereichaktionen']");
我还将整个项目上传到github,您可以下载测试。

可能重复可能重复