2013-05-19 14 views
5

Webbrowser.currently adresinden tüm öznitelikleri almam gerekiyor, GetAttribute() kullanıyorum ancak bu yolla, özniteliklerin adını bilmem gerekiyor. Webbrowser'ımda ne olduğunu bilmiyorum. Benim C# kodu:Web tarayıcısında bir HtmlElement öğesinin tüm özniteliklerini döndürme

 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(); 
     } 

Ben çok araştırdım ama herhangi bir şey kullanışlı bulamadık.

+0

için başvurmak zorunda ama böyle iyi bir çözüm değildi. – Pedram

cevap

1

Denemedim ama sanırım bu bir çözüm ya da ilk adım olabilir. İlk olarak, ben de kullanarak Html çeviklik paketi (http://htmlagilitypack.codeplex.com/wikipage?title=Examples) denedik 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(); 
} 
İlgili konular