C# 将web浏览器中的HTML节点/参数另存为字符串
我为我糟糕的术语提前道歉,我对C#和一般的编码非常陌生 我想扫描我的web浏览器(webBrowser1)的html并找到某个参数/节点的值。我知道如何使用getElementById,尽管在本例中这不起作用 我需要扫描的HTML部分如下:C# 将web浏览器中的HTML节点/参数另存为字符串,c#,html,c#-4.0,C#,Html,C# 4.0,我为我糟糕的术语提前道歉,我对C#和一般的编码非常陌生 我想扫描我的web浏览器(webBrowser1)的html并找到某个参数/节点的值。我知道如何使用getElementById,尽管在本例中这不起作用 我需要扫描的HTML部分如下: <body> <div id="wrap"> <div id="main" role ="main" class="..."> <div style="width:100%;
<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获取数据。任何帮助都将不胜感激
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"));
var dict=webBrowser1.Document.GetElementsByTagName(“参数”)
.Cast()
.ToDictionary(p=>p.GetAttribute(“名称”),p=>p.GetAttribute(“值”);
要获取值
$(document).ready(function() {
alert($('#wrap param[name=server]').val());
});
我在问题中没有看到任何
Javascript
标记非常感谢,你不知道我有多感激它!:)