如何从HTML中获取元素
本文关键字:获取 元素 HTML | 更新日期: 2023-09-27 17:57:35
你好,我正在尝试将html中的ddl插入到系统中。集合。阵列列表
我制作HttpWebRequest和HttpWebResponse
HttpWebResponse RedirectResponse = RedirectToUrl("https://servicestest.com/Pages/Trans.aspx");
Stream streamResponse = RedirectResponse.GetResponseStream();
StreamReader streamRead = new StreamReader(streamResponse);
MyHtmlPage= streamRead.ReadToEnd();
现在我在MyHtmlPage(streamRead)中有了所有的Html页面,里面有DropDownList,里面有我需要存储在系统中的所有数据。集合。ArrayList(或标准阵列,如果可能的话)
这是所有html页面的pice,这是我需要存储的ddl id-ctl00_PlaceHolderMain_AccountsDDL_ddlAccounts
<div id="ctl00_PlaceHolderMain_AccountsDDL_ddlAccountsWarrper" class="positionRelative ">
<select name="ctl00$PlaceHolderMain$AccountsDDL$ddlAccounts" id="ctl00_PlaceHolderMain_AccountsDDL_ddlAccounts" class="margin5 positionAbsolute">
<option selected="selected" value="1" title=" some thhh ">Some info </option>
<option value="2" title=" fff"> some info </option>
</select>
</div>
播种任何想法,我如何将这些数据从MyHtmlPage拖到数组?(服务器端)
您可以使用Html敏捷包来解析Html文档。你可能想调查一下。
我找到了另一种方法来获取所有数据的retList。
System.Collections.ArrayList retList = new
System.Collections.ArrayList();
mshtml.HTMLDocument doc = new mshtml.HTMLDocument();
mshtml.IHTMLDocument2 doc2 = (mshtml.IHTMLDocument2)doc;
doc2.clear();
doc2.write(MyHtmlPage);
mshtml.IHTMLDocument3 doc3 = (mshtml.IHTMLDocument3)doc2;
mshtml.HTMLSelectElement selectToGet = (mshtml.HTMLSelectElement)doc3.getElementById(IDToGet);
if (selectToGet != null)
{
foreach (mshtml.HTMLOptionElement optToGet in selectToGet.getElementsByTagName("option"))
{
if (optToGet.value != null && optToGet.innerText != null)
{
retList.Add(optToGet.value + "'t" + optToGet.innerText);
}
else if (optToGet.innerText != null)
{
retList.Add("value not found" + "'t" + optToGet.innerText);
}
}
}