如何从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敏捷包来解析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);
             }
                   }
      }