【问题标题】:Showing every element in an IEnumerable HtmlElement collection显示 IEnumerable HtmlElement 集合中的每个元素
【发布时间】:2013-12-12 21:39:32
【问题描述】:

我有一个收藏:IEnumerable<HtmlElement> propertyElements

我想用foreach 循环枚举这个集合并查看其中包含的每个 HtmlElement。

到目前为止,我的代码如下所示:

private static void PrintObject(IEnumerable<HtmlElement> propertyElements)
{
    Console.WriteLine("---------------------------------");
    foreach (HtmlElement element in propertyElements)
    {
        Console.WriteLine(element.ToString());
    }
    Console.WriteLine("---------------------------------");
}

不过,我的输出如下所示:

System.Windows.Forms.HtmlElement
System.Windows.Forms.HtmlElement
System.Windows.Forms.HtmlElement
System.Windows.Forms.HtmlElement
System.Windows.Forms.HtmlElement

谁能指出我做错了什么?

【问题讨论】:

  • 你想看html元素的哪一部分?
  • 就像是 'div' 或 'img' 或其他 Html 元素。

标签: c# foreach ienumerable


【解决方案1】:

就像@Bo 指出的那样,你可以做这样的事情

private static void PrintObject(IEnumerable<HtmlElement> propertyElements)
{
    Console.WriteLine("---------------------------------");
    foreach (HtmlElement element in propertyElements)
    {
        Console.WriteLine(element.OuterHtml);
        //or
        Console.WriteLine(element.Name);
        //or
        Console.WriteLine(element.InnerHtml);
        //or
        Console.WriteLine(element.TagName);
    }
    Console.WriteLine("---------------------------------");
}

【讨论】:

    【解决方案2】:

    您需要打印每个元素的属性。

    http://msdn.microsoft.com/en-us/library/system.windows.forms.htmlelement(v=vs.110).aspx

    使用类似 InnerHtml/InnerText 或 OuterHtml/OuterText

    如果你想要元素类型,使用 TagName

    Console.WriteLine(element.TagName);
    

    http://msdn.microsoft.com/en-us/library/system.windows.forms.htmlelement.tagname(v=vs.110).aspx

    【讨论】:

      猜你喜欢
      • 2018-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-02
      • 1970-01-01
      • 1970-01-01
      • 2021-01-26
      • 1970-01-01
      相关资源
      最近更新 更多