2013-05-19 8 views
5

私はwebBrowserからすべての属性を取得する必要があります。現在、GetAttribute()を使用していますが、この方法では属性の名前を知る必要があります。 ウェブブラウザに何が入っているのか分かりません。 私のC#コード:WebブラウザでHtmlElementのすべての属性を返します。

 StringWriter strWriter = new StringWriter();    
     XmlWriter xWriter = XmlWriter.Create(strWriter, new XmlWriterSettings() { Indent = true }); 
     xWriter.WriteStartElement("Items"); 
     foreach (HtmlElement el in webBrowser1.Document.GetElementsByTagName("TEXTAREA")) 
     { 
      xWriter.WriteStartElement("Item"); 
      xWriter.WriteElementString("GUID", el.Id); 
      xWriter.WriteElementString("Type", el.GetAttribute("type").ToUpper()); 
      xWriter.WriteElementString("Name", el.Name); 
      xWriter.WriteElementString("Value", el.GetAttribute("value")); 
      xWriter.WriteElementString("MaxLength", el.GetAttribute("maxlength")); 
      xWriter.WriteEndElement(); 
     } 

は、私は多くのことを検索しましたが、私は任意のものが有用見つけることができませんでした。

+0

に参照する必要があり、私は、HTML敏捷性パック(http://htmlagilitypack.codeplex.com/wikipage?title=Examples)を使用してみましたが、それはこのような良い解決策ではありませんでした。 – Pedram

答えて

1

私はそれを試していませんが、これは解決策または最初のステップになると思います。まず、あなたがmicrosoft.mshtml

foreach (HtmlElement el in webBrowser1.Document.GetElementsByTagName("TEXTAREA")) 
{ 

    HTMLTextAreaElement textarea = (HTMLTextAreaElement)el.DomElement; 

    xWriter.WriteStartElement("Item"); 
    xWriter.WriteElementString("GUID", el.Id); 

    foreach (var attribute in textarea.attributes) 
    { 
     String name = attribute.name; 
     String value = attribute.value; 

     xWriter.WriteElementString(name, value); 
    } 

    xWriter.WriteEndElement(); 
} 
関連する問題