1 | Namespace System
|
---|
2 | Namespace Xml
|
---|
3 |
|
---|
4 | /*!
|
---|
5 | @brief XMLドキュメントを表す
|
---|
6 | */
|
---|
7 | Class XmlDocument
|
---|
8 | Inherits XmlNode
|
---|
9 |
|
---|
10 | Sub VerifyLocalName( name As String )
|
---|
11 | If Object.ReferenceEquals( name, Nothing ) Then
|
---|
12 | ' Throw System.ArgumentException()
|
---|
13 | ElseIf name.Length = 0 Then
|
---|
14 | ' Throw System.ArgumentException()
|
---|
15 | End If
|
---|
16 | End Sub
|
---|
17 |
|
---|
18 | Public
|
---|
19 |
|
---|
20 | /*!
|
---|
21 | @brief コンストラクタ
|
---|
22 | */
|
---|
23 | Sub XmlDocument()
|
---|
24 | XmlNode( XmlNodeType.Document, "", "#document", "", Nothing )
|
---|
25 | End Sub
|
---|
26 |
|
---|
27 | /*!
|
---|
28 | @brief コンストラクタ
|
---|
29 | */
|
---|
30 | 'Sub XmlDocument( xmlImplementation As XmlImplementation )
|
---|
31 | 'End Sub
|
---|
32 |
|
---|
33 | /*!
|
---|
34 | @brief コンストラクタ
|
---|
35 | */
|
---|
36 | 'Sub XmlDocument( xmlNameTable As XmlNameTable )
|
---|
37 | 'End Sub
|
---|
38 |
|
---|
39 |
|
---|
40 | '----------------------------------------------------------------
|
---|
41 | ' パブリック プロパティ
|
---|
42 | '----------------------------------------------------------------
|
---|
43 |
|
---|
44 | /*!
|
---|
45 | @brief このノードとそのすべての子ノードを表すマークアップを取得します。
|
---|
46 | @return このノードとそのすべての子ノードを格納しているマークアップ。
|
---|
47 | */
|
---|
48 | Override Function OuterXml() As String
|
---|
49 | Return This.InnerXml
|
---|
50 | End Function
|
---|
51 |
|
---|
52 |
|
---|
53 | '----------------------------------------------------------------
|
---|
54 | ' パブリック メソッド
|
---|
55 | '----------------------------------------------------------------
|
---|
56 |
|
---|
57 | /*!
|
---|
58 | @brief 指定した値を使用して、XmlDeclaration ノードを作成します。
|
---|
59 | @param version XMLのバージョン番号。
|
---|
60 | encoding 文字コード。(例:"shift-jis", "UTF-8", "EUC-JP")
|
---|
61 | standalone 外部DTDの参照が必要かどうか。"yes" or "no"
|
---|
62 | */
|
---|
63 | Function CreateXmlDeclaration( version As String, encoding As String, standalone As String ) As XmlDeclaration
|
---|
64 | Return New XmlDeclaration( version ,encoding, standalone, This )
|
---|
65 | End Function
|
---|
66 |
|
---|
67 | /*!
|
---|
68 | @brief 指定した名前を使用して属性を作成します。
|
---|
69 | @param name 属性名
|
---|
70 | */
|
---|
71 | Function CreateAttribute( name As String) As XmlAttribute
|
---|
72 | VerifyLocalName( name )
|
---|
73 |
|
---|
74 | Return New XmlAttribute( "", name, "", This )
|
---|
75 | End Function
|
---|
76 |
|
---|
77 | /*!
|
---|
78 | @brief 指定した名前を使用して要素を作成します。
|
---|
79 | @param name 要素名。
|
---|
80 | */
|
---|
81 | Function CreateElement( name As String ) As XmlElement
|
---|
82 | VerifyLocalName( name )
|
---|
83 |
|
---|
84 | Return New XmlElement( "", name, "", This )
|
---|
85 | End Function
|
---|
86 |
|
---|
87 | /*!
|
---|
88 | @brief 指定した文字列を使用してテキストノードを作成します。
|
---|
89 | @param text 文字列。
|
---|
90 | */
|
---|
91 | Function CreateTextNode( text As String ) As XmlText
|
---|
92 | Return New XmlText( text, This )
|
---|
93 | End Function
|
---|
94 |
|
---|
95 | /*!
|
---|
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文書を読み込む。
|
---|
106 | @param stream 読み込み先のストリーム。
|
---|
107 | */
|
---|
108 | Virtual Sub Load( inStream As System.IO.Stream )
|
---|
109 | Load( New System.IO.StreamReader( inStream ) )
|
---|
110 | End Sub
|
---|
111 |
|
---|
112 | /*!
|
---|
113 | @brief 指定したファイルからXML文書を読み込む。
|
---|
114 | @param ファイルパス。
|
---|
115 | */
|
---|
116 | Virtual Sub Load( filename As String )
|
---|
117 | Dim r = New System.IO.StreamReader( filename )
|
---|
118 | Load( r )
|
---|
119 | r.Dispose()
|
---|
120 | End Sub
|
---|
121 |
|
---|
122 | /*!
|
---|
123 | @brief 指定したストリームにXML文書を保存する。
|
---|
124 | @param stream 保存先のストリーム。
|
---|
125 | */
|
---|
126 | Virtual Sub Save( outStream As System.IO.Stream )
|
---|
127 | Dim writer = New IO.StreamWriter( outStream )
|
---|
128 | Save( writer )
|
---|
129 | writer.Flush()
|
---|
130 | End Sub
|
---|
131 |
|
---|
132 | /*!
|
---|
133 | @brief 指定したファイルにXML文書を保存する。
|
---|
134 | @param ファイルパス。
|
---|
135 | */
|
---|
136 | Virtual Sub Save( filename As String )
|
---|
137 | Dim w = New IO.StreamWriter( filename )
|
---|
138 | Save( w )
|
---|
139 | w.Dispose()
|
---|
140 | End Sub
|
---|
141 |
|
---|
142 | /*!
|
---|
143 | @brief 指定したテキストライタにXML文書を保存する。
|
---|
144 | @param テキストライタ。
|
---|
145 | */
|
---|
146 | Virtual Sub Save( writer As System.IO.TextWriter )
|
---|
147 | writer.Write( InnerXmlSupportedIndent( True ) )
|
---|
148 | End Sub
|
---|
149 | End Class
|
---|
150 |
|
---|
151 |
|
---|
152 | End Namespace
|
---|
153 | End Namespace
|
---|