免责声明:这是我正在做的个人项目.我不想使用现有的库,因为这会使learning more about wheels失去一些乐趣.
话虽如此,我正在研究网络蜘蛛,并且遇到了如何用单个对象表示HTML表单元素的问题.
我想做的是有一个“ HTML文档”对象,该对象包含所有表单元素的数组作为其属性之一.问题是我无法找出一种表示< input />标签以及< select />标签,因为选择标签可以具有多个子< option />标签.
有什么好方法可以同时表示< input />标签,基本上只存储名称/值对,而< select />在同一类中具有名称/值对数组的标签?
到目前为止,我想到的最好的主意是对待< option /> < select />的标签标签作为单独的表单字段,类似于我将如何表示< input type =“ radio” />或< input type =“ checkbox” />.
所以我会这样:
class FormField {
public string Name { get; set; }
public string Value { get; set; }
public string Type { get; set; }
}
然后,一个用于迭代的集合类将:
>集合类将是“数组数组”.对于HTML文档中的每个名称,外部数组将具有一个内部数组.
>它的索引器可以按名称获取字段.该索引将返回一个FormField对象数组.
>枚举整个文档的表单域时,每次迭代将具有一个FormField对象数组,因为它将是一个数组数组.
最佳答案