1

例:これ:

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

XMLのような通常のタグでは簡単です。タグと同じ名前でクラスを作成するだけなので、タグが次の場合は次のようになります。

<something></something>

何かという名前のクラスを作成しますが、そのような例のdivで、クラス属性を内部に持つHTMLでこれをどのように行いますか?

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。この例でこれが必要な唯一の理由は、"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 に答える