2012-09-27 26 views
0

對於我的壞詞彙,我很抱歉,我對C#和編碼一般都很陌生。將網頁瀏覽器中的HTML節點/參數保存爲字符串

我想掃描我的網絡瀏覽器(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獲取數據。任何幫助將非常感謝!

回答

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,您可以直接從瀏覽器控件得到它

var dict = webBrowser1.Document.GetElementsByTagName("param") 
      .Cast<HtmlElement>() 
      .ToDictionary(p => p.GetAttribute("name"), p => p.GetAttribute("value")); 
+0

謝謝你這麼多,你不知道我多麼感激! :) – Conor

0

獲得價值...

$(document).ready(function() { 

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

}); 
+0

我沒有在問題中看到任何'Javascript'標記 –

相關問題