0

我提前为我的错误术语道歉,我对 C# 和一般编码都很陌生。

我想扫描我的网络浏览器(webBrowser1)的 html 并找到某个参数/节点的值。我知道如何使用 getElementById 虽然在这种情况下不起作用。

我需要扫描的 HTML 部分在这里:

<body>
   <div id="wrap">
       <div id="main" role ="main" class="...">
           <div style="width:100%; margin...">
               <applet code="...">
                   <param name="lotsOfParamsHere" value="...">
                   <param name="server" value="myString1">
                   <param name="port" value="myString2">
                   <param name="mppass" value="myString3">
               </applet>
            </div>
        </div>
    </div>
</body> 

我想将服务器、端口和 mppass 的值保存为我的程序中的字符串。我查看了 HTMLAgilityPack 和常用方法,但我根本不擅长从 HTML 中获取数据。任何帮助将不胜感激!

4

2 回答 2

0
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(html);

var dict = doc.DocumentNode.Descendants("param")
    .ToDictionary(n=>n.Attributes["name"].Value,n=>n.Attributes["value"].Value);

现在您可以将其用作

var port = dict["port"];

或者没有 HtmlAgilityPack,您可以直接从 webbrowser 控件中获取它

var dict = webBrowser1.Document.GetElementsByTagName("param")
          .Cast<HtmlElement>()
          .ToDictionary(p => p.GetAttribute("name"), p => p.GetAttribute("value"));
于 2012-09-27T18:47:50.387 回答
0

获取价值...

$(document).ready(function() {

alert($('#wrap param[name=server]').val());

});
于 2012-09-27T19:14:00.613 回答