C# 如何通过包含标签和Div(html)的ArrayList进行解析?
如上所述,我创建了一个数组列表,其中添加了一些标签和一个Div(HTML),如何进一步检索这些项,比如对于label,我可以使用Object类,稍后我可以将其强制转换为label类,但是c#中没有Div类,那么如何实现呢C# 如何通过包含标签和Div(html)的ArrayList进行解析?,c#,asp.net,C#,Asp.net,如上所述,我创建了一个数组列表,其中添加了一些标签和一个Div(HTML),如何进一步检索这些项,比如对于label,我可以使用Object类,稍后我可以将其强制转换为label类,但是c#中没有Div类,那么如何实现呢 ArrayList list = new ArrayList(); list.Add(lbl_name1); list.Add(lbl_rating1); list.Add(lbl_releasedate1); list.Add(div_movie1); 这就是我将如何将对象
ArrayList list = new ArrayList();
list.Add(lbl_name1);
list.Add(lbl_rating1);
list.Add(lbl_releasedate1);
list.Add(div_movie1);
这就是我将如何将对象投射到标签中的方法。请让我知道我是否也做对了。使用
foreach(在类型列表中标记lbl)
{
}
我不知道您为什么要使用ArrayList
一个更好的替代方法是针对div的generic——您可以使用
foreach (Label lbl in list.OfType<Label>)
{
}
该类实现该接口。如果新的自定义Div
类也实现了ITextControl
接口,则可以将对象列表设置为该接口的大小写,并设置Text
属性。添加到ArrayList
的任何其他自定义类也需要实现它。从ITextControl
链接:
HtmlGenericControl div = new HtmlGenericControl("div");
然后,铸造将如下所示:
public class CustomTextControl : Control, ITextControl
{
private string _text;
public CustomTextControl() // change this to DivControl
{
}
public string Text
{
get
{
return _text;
}
set
{
if (value != null)
{
_text = value;
}
else
{
_text = "No Value.";
}
}
}
// Provide the remaining code to implement a text control.
}
对于Div呢?我的意思是,如果列表不仅仅由标签组成?div_movie1的类型是什么?您是如何定义它的?我猜您来自Java背景,在.Net framework中有
Dictionary
类而不是Map
。是的……然后您可以使用Dictionary类并可以存储任何东西。我已经删除了地图代码。
public class CustomTextControl : Control, ITextControl
{
private string _text;
public CustomTextControl() // change this to DivControl
{
}
public string Text
{
get
{
return _text;
}
set
{
if (value != null)
{
_text = value;
}
else
{
_text = "No Value.";
}
}
}
// Provide the remaining code to implement a text control.
}
foreach (object obj in list)
{
ITextControl text_control = (ITextControl)obj;
text_control.Text= "Hello";
}