【问题标题】:Why can not I read all the descendants of "root" ? C# HTML为什么我不能阅读“根”的所有后代? C# HTML
【发布时间】:2014-01-08 21:11:43
【问题描述】:

如何在 C# 中从 HTML 页面正确加载组合框对象? 为什么我不能读取“root”的所有后代?

<select name="mainCategory">
    <option value=""> select1 </option>
    <option value="21"> Antiques & Art </option>
    <option value="61"> Office and Advertising </option>
    <option value="22"> Jewelry & Watches </option>
    <option value="23"> For Kids </option>
    <option value="24"> Home & Garden </option>
    <option value="39"> Erotica </option>
    <option value="25"> Videos </option>
    <option value="26"> Company and Industry </option>
    <option value="27"> Photography </option>
    <option value="28"> Games </option>
    <option value="29"> Collections </option>
    <option value="30"> Computers </option>
    <option value="31"> Books and Comics </option>
    <option value="32"> Automotive </option>
    <option value="33"> Music and Instruments </option>
    <option value="34"> Clothing, Shoes, Accessories </option>
    <option value="40" selected="selected"> Other </option>
    <option value="81"> Crafts </option>
    <option value="35"> Consumer Electronics </option>
    <option value="36"> Sport and Tourism </option>
    <option value="37"> Phones & Accessories </option>
    <option value="38"> Health and Beauty </option>
    <option value="62"> Food </option>
</select> 

通过使用这样的代码:

HtmlElement root = this.webBrowser1.Document.GetElementsByTagName("select")[2];

HtmlElement root = this.webBrowser1.Document.GetElementById("mainCategory");

元素“root”只包含一个子元素 - “select1”,它没有更多的后代。 为什么我不能读取“root”的所有后代?

【问题讨论】:

    标签: c# html .net html-select


    【解决方案1】:

    您的OPTION 标记似乎格式错误。而不是:

    <option> value="21"> Antiques & Art </option>
    

    应该是:

    <option value="21"> Antiques & Art </option>
    

    第一个是正确创建的。

    虽然我确实相信某些浏览器在渲染它时可能没有问题,但我不知道该模型能否通过验证。

    [编辑] 在您修复帖子上的标签之前,我发布了这个答案。现在还能用吗?

    【讨论】:

    • 这很好。你的代码在你修复它之后工作了吗?
    • 它有效,但问题在于读取“root”的所有后代。
    • 很遗憾我现在无法测试,但您可以尝试检查是否可以访问 childNodes 属性吗?
    • 根 - Children.Count = 1; select1 - Children.Count = 0
    • 而且,纯粹出于好奇……这个孤儿有几个孩子?
    猜你喜欢
    • 1970-01-01
    • 2021-04-15
    • 2012-04-19
    • 1970-01-01
    • 2021-03-23
    • 2015-06-12
    • 1970-01-01
    • 2014-02-19
    • 2022-09-28
    相关资源
    最近更新 更多