Changeset 655 for trunk/ab5.0/ablib/src/Classes/System/Xml/XmlDocument.ab
- Timestamp:
- Nov 9, 2008, 2:21:49 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ab5.0/ablib/src/Classes/System/Xml/XmlDocument.ab
r497 r655 95 95 /*! 96 96 @brief 指定したストリームからXML文書を読み込む。 97 @param reader 読み込むリーダ。 98 */ 99 Virtual Sub Load( reader As System.IO.TextReader ) 100 This.RemoveAll() 101 ActiveBasic.Xml.Parser.Parse( reader.ReadToEnd(), This ) 102 End Sub 103 104 /*! 105 @brief 指定したストリームからXML文書を読み込む。 97 106 @param stream 読み込み先のストリーム。 98 107 */ 99 108 Virtual Sub Load( inStream As System.IO.Stream ) 100 Dim length = inStream.Length As DWord 101 Dim xmlBuffer = calloc( length + 1 ) As *Char 102 inStream.Read( xmlBuffer As *Byte, 0, length ) 103 inStream.Close() 104 Dim xmlString = New String( xmlBuffer ) 105 free( xmlBuffer ) 106 107 This.RemoveAll() 108 ActiveBasic.Xml.Parser.Parse( xmlString, This ) 109 Load( New System.IO.StreamReader( inStream ) ) 109 110 End Sub 110 111 … … 114 115 */ 115 116 Virtual Sub Load( filename As String ) 116 Dim fileStream As System.IO.FileStream( filename, System.IO.FileMode.Open, System.IO.FileAccess.Read ) 117 Load( fileStream ) 117 Dim r = New System.IO.StreamReader( filename ) 118 Load( r ) 119 r.Dispose() 118 120 End Sub 119 121 … … 123 125 */ 124 126 Virtual Sub Save( outStream As System.IO.Stream ) 125 Dim xmlStr = InnerXmlSupportedIndent( True)126 outStream.Write( xmlStr.StrPtr As *Byte, 0, xmlStr.Length * SizeOf( Char ))127 outStream.Close()127 Dim writer = New IO.StreamWriter( outStream ) 128 Save( writer ) 129 writer.Flush() 128 130 End Sub 129 131 … … 133 135 */ 134 136 Virtual Sub Save( filename As String ) 135 Dim fileStream As System.IO.FileStream( filename, System.IO.FileMode.Create, System.IO.FileAccess.Write ) 136 Save( fileStream ) 137 Dim w = New IO.StreamWriter( filename ) 138 Save( w ) 139 w.Dispose() 137 140 End Sub 138 141 … … 142 145 */ 143 146 Virtual Sub Save( writer As System.IO.TextWriter ) 144 writer.Write( InnerXmlSupportedIndent( True ))147 writer.Write( InnerXmlSupportedIndent( True ) ) 145 148 End Sub 146 149 End Class
Note:
See TracChangeset
for help on using the changeset viewer.