1

例如这个:

<div class="link_text">
 <a href="http://www.stackoverflow.com">
 <strong>Text</strong></a>
</div>

使用像 XML 这样的普通标签很容易,您只需创建与标签同名的类,所以如果标签是:

<something></something>

您创建了一个名为 something 的类,但是您将如何在 HTML 中的示例 div 中执行此操作,例如该示例 div,其中包含类属性?

4

1 回答 1

0

您需要将该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.
于 2012-10-17T21:38:05.483 回答