例如这个:
<div class="link_text">
<a href="http://www.stackoverflow.com">
<strong>Text</strong></a>
</div>
使用像 XML 这样的普通标签很容易,您只需创建与标签同名的类,所以如果标签是:
<something></something>
您创建了一个名为 something 的类,但是您将如何在 HTML 中的示例 div 中执行此操作,例如该示例 div,其中包含类属性?
例如这个:
<div class="link_text">
<a href="http://www.stackoverflow.com">
<strong>Text</strong></a>
</div>
使用像 XML 这样的普通标签很容易,您只需创建与标签同名的类,所以如果标签是:
<something></something>
您创建了一个名为 something 的类,但是您将如何在 HTML 中的示例 div 中执行此操作,例如该示例 div,其中包含类属性?
您需要将该XmlAttribute
属性应用于类中的属性,以表明您希望将该属性视为属性而不是元素。例如:
Public Class div
<XmlAttribute()> _
Public Property [class] As String
Get
Return _class
End Get
Set(value As String)
_class = value
End Set
End Property
Private _class As String
Public Property a As a
Get
Return _a
End Get
Set(value As a)
_a = value
End Set
End Property
Private _a As a
Public Property strong As String
Get
Return _strong
End Get
Set(value As String)
_strong = value
End Set
End Property
Private _strong As String
End Class
Public Class a
<XmlAttribute()> _
Public Property href As String
Get
Return _href
End Get
Set(value As String)
_href = value
End Set
End Property
Private _href As String
End Class
通常,您不需要在属性名称周围使用方括号,就像在class
属性上一样。在此示例中必须这样做的唯一原因是“类”一词是 VB.NET 语言中的一个特殊关键字。方括号强制 VB 将其视为标识符名称,而不是关键字的典型含义。另一种不使用括号做同样事情的方法是将属性命名为不同的名称,然后强制它在 XML 中具有名称“类”:
Public Class div
<XmlAttribute("class")> _
Public Property MyClassAttribute As String
' ...
End Property
End Class
无论如何,一旦你将它反序列化为一个div
对象,你就可以像这样读取它:
Dim myDiv As div = '...
Dim theClassOfMyDiv As String = myDiv.class
Dim theHref As String = myDiv.a.href
' etc.