按ID获取div内容

问题描述 投票:4回答:3

我有一个字符串,保存整个HTML文档。我想获得具有特定ID的div内的所有内容。例如:

<div id="myId" class = "myClass">
 <div class = "myClass">hello</div>
</div>

我需要带有id =“myId”的标签和它的结束标签之间的内容。有没有办法实现这个目标?输出应该是第二行。

c# html html-parsing
3个回答
8
投票

干净,正确的方法是通过HTML解析器,如HtmlAgilityPack

string stringThatKeepsYourHtml = "<div id=....";
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(stringThatKeepsYourHtml);
string whatUrLookingFor = doc.GetElementbyId("myId").InnerHtml;

4
投票

你想在htmldiv代码中的任何c#里面的server side所以你可以这样做。

<div id="myId" class = "myClass" runat="server">
 <div class = "myClass">hello</div>
</div>

所以你必须将runat="server"属性添加到该div以访问服务器上的C#代码上的div。

并像这样访问:

Debug.WriteLine(myId.InnerHtml);

并检查output窗口,你会得到<div class = "myClass">hello</div>这个。

快乐的编码


0
投票

步骤1.将HTML元素设置为runat ='server'并提供ID。

<div id="myId" class = "myClass" runat="server">
 <div class = "myClass">hello</div>
</div>

步骤2.使用下面的C#代码获取Div HTML字符串。

System.IO.StringWriter sw = new System.IO.StringWriter();
       System.Web.UI.HtmlTextWriter h = new System.Web.UI.HtmlTextWriter(sw);
                myId.RenderControl(h);
                string str = sw.GetStringBuilder().ToString();
  • myId是你的DIV ID。
  • 或者您可以使用HTML Agility Pack(HAP)
© www.soinside.com 2019 - 2024. All rights reserved.