【问题标题】:Return all attributes of an HtmlElement in Web browser在 Web 浏览器中返回 HtmlElement 的所有属性
【发布时间】:2013-05-13 23:11:30
【问题描述】:

我需要从我的 webbrowser 中获取所有属性。目前,我正在使用 GetAttribute() 但是这样,我需要知道属性的名称。 想象一下,我不知道我的网络浏览器中有什么。 我的 C# 代码:

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

我搜索了很多,但没有找到任何有用的东西。

【问题讨论】:

标签: c# html xml xmlwriter stringwriter


【解决方案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();
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-11
    • 2019-03-24
    相关资源
    最近更新 更多