Ignore:
Timestamp:
Feb 28, 2008, 11:36:03 PM (17 years ago)
Author:
dai
Message:

タグ属性に対応。

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Include/Classes/System/Xml/XmlNode.ab

    r442 r443  
    2828Class XmlNode
    2929
    30     'attributes As XmlAttributeCollection
     30    attributes As XmlAttributeCollection
    3131    childNodes As XmlNodeList
    3232    prefix As String
     
    4949        This.value = Nothing
    5050
     51        attributes = New XmlAttributeCollection
    5152        childNodes = New XmlNodeList()
    5253    End Sub
     
    6263        This.value = data
    6364
     65        attributes = New XmlAttributeCollection
    6466        childNodes = Nothing
    6567    End Sub
     
    7375    @brief  名前またはインデックスによってアクセスできる属性のコレクションを表します。
    7476    */
    75     'Virtual Function Attributes() As XmlAttributeCollection
    76     '   Return attributes
    77     'End Function
     77    Virtual Function Attributes() As XmlAttributeCollection
     78        Return attributes
     79    End Function
    7880
    7981    /*!
     
    157159    End Function
    158160
    159    
     161    /*!
     162    @brief  このノードの値を取得します。
     163    @return このノードの値。
     164    */
     165    Virtual Function Value() As String
     166        return value
     167    End Function
     168
     169    /*!
     170    @brief  このノードの値を設定します。
     171    @param  value 値文字列。
     172    */
     173    Virtual Sub Value( value As String )
     174        This.value = value
     175    End Sub
    160176
    161177
     
    250266
    251267Protected
     268
     269    Function GetAttributesStr() As String
     270        If attributes.Count = 0 Then
     271            ' 属性が1つもない場合
     272            Return ""
     273        End If
     274
     275        Dim result = ""
     276        Foreach attribute In attributes
     277            result += " " + attribute.OuterXml
     278        Next
     279        Return result
     280    End Function
     281
    252282    Virtual Function InnerXmlSupportedIndent( isIndent = False As Boolean, indent = 0 As Long ) As String
    253283        Dim result = ""
     
    275305
    276306        If childNodes.Count = 0 Then
    277             Return indentStr + "<" + localName + " />" + crlfStr
     307            Return indentStr + "<" + localName + This.GetAttributesStr() + " />" + crlfStr
    278308        End If
    279309
     
    281311
    282312        ' 開始タグ
    283         result += indentStr + "<" + localName + ">" + crlfStr
     313        result += indentStr + "<" + localName + This.GetAttributesStr() + ">" + crlfStr
    284314
    285315        ' 子ノードリスト
Note: See TracChangeset for help on using the changeset viewer.