首页 > 解决方案 > HtmlAgilityPack - 如何从标签中获取值

进入 aspx.cs

问题描述

我有一个任务要做。我需要将标签中的值获取到 c# 中。我需要将值显示到标签中这是我的 HTML 代码:

<div size="10" id="para1"></div>  <p></p><asp:Label ID="Label2" runat="server" Text="" Font-Size="XX-Large"></asp:Label><p></p><asp:Label ID="Label3" runat="server" Text="" Font-Size="XX-Large"></asp:Label>

<script>
document.getElementById("para1").innerHTML = formatAMPM();

    function formatAMPM() {
        var d = new Date(),

            days = ['sonday', 'monday', 'tuesday', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'];
        return days[d.getDay()];
    }</script>

从后面的代码中,我在这里使用它来获取值,但它不起作用:

HtmlDocument page = new HtmlWeb().Load(@"D:\Downloads\wichtig\try\WebApplication1-Kopie-Kopie\MeineWebseite\löschen\WebForm2.aspx");
        var title = page.DocumentNode.SelectSingleNode("//div[@id='para1']");
        Label3.Text = title.ToString();

我只知道如何通过 ID 获取标签。这就是它的工作原理

 document2.Load(@"D:\Downloads\wichtig\try\WebApplication1-Kopie-Kopie\MeineWebseite\löschen\WebForm2.aspx");

        string tag = document2.GetElementbyId("para1").Name;
        Label2.Text = tag;

这就是它的工作原理,但我希望 Label3 应该显示当前日期,例如

<div>id="para1</div>

确实如此。这是结果 在此处输入图像描述

标签: javascriptc#htmlasp.nethtml-agility-pack

解决方案


你应该使用InnerText属性:

var title = page.DocumentNode.SelectSingleNode("//div[@id='para1']");
Label3.Text = title.InnerText;

推荐阅读