我有一个字符串,保存整个HTML文档。我想获得具有特定ID的div内的所有内容。例如:
<div id="myId" class = "myClass">
<div class = "myClass">hello</div>
</div>
我需要带有id =“myId”的标签和它的结束标签之间的内容。有没有办法实现这个目标?输出应该是第二行。
干净,正确的方法是通过HTML解析器,如HtmlAgilityPack:
string stringThatKeepsYourHtml = "<div id=....";
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(stringThatKeepsYourHtml);
string whatUrLookingFor = doc.GetElementbyId("myId").InnerHtml;
你想在html
的div
代码中的任何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>
这个。
快乐的编码
步骤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();