Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ EventsToWriter()

void System.Xml.XmlEventCache.EventsToWriter ( XmlWriter writer)
inline

Definition at line 136 of file XmlEventCache.cs.

137 {
138 if (_singleText.Count != 0)
139 {
140 writer.WriteString(_singleText.GetResult());
141 return;
142 }
143 XmlRawWriter xmlRawWriter = writer as XmlRawWriter;
144 for (int i = 0; i < _pages.Count; i++)
145 {
146 XmlEvent[] array = _pages[i];
147 for (int j = 0; j < array.Length; j++)
148 {
149 switch (array[j].EventType)
150 {
151 case XmlEventType.Unknown:
152 return;
153 case XmlEventType.DocType:
154 writer.WriteDocType(array[j].String1, array[j].String2, array[j].String3, (string)array[j].Object);
155 break;
156 case XmlEventType.StartElem:
157 writer.WriteStartElement(array[j].String1, array[j].String2, array[j].String3);
158 break;
159 case XmlEventType.StartAttr:
160 writer.WriteStartAttribute(array[j].String1, array[j].String2, array[j].String3);
161 break;
162 case XmlEventType.EndAttr:
163 writer.WriteEndAttribute();
164 break;
165 case XmlEventType.CData:
166 writer.WriteCData(array[j].String1);
167 break;
168 case XmlEventType.Comment:
169 writer.WriteComment(array[j].String1);
170 break;
171 case XmlEventType.PI:
172 writer.WriteProcessingInstruction(array[j].String1, array[j].String2);
173 break;
174 case XmlEventType.Whitespace:
175 writer.WriteWhitespace(array[j].String1);
176 break;
177 case XmlEventType.String:
178 writer.WriteString(array[j].String1);
179 break;
180 case XmlEventType.Raw:
181 writer.WriteRaw(array[j].String1);
182 break;
183 case XmlEventType.EntRef:
184 writer.WriteEntityRef(array[j].String1);
185 break;
186 case XmlEventType.CharEnt:
187 writer.WriteCharEntity((char)array[j].Object);
188 break;
189 case XmlEventType.SurrCharEnt:
190 {
191 char[] array3 = (char[])array[j].Object;
192 writer.WriteSurrogateCharEntity(array3[0], array3[1]);
193 break;
194 }
195 case XmlEventType.Base64:
196 {
197 byte[] array2 = (byte[])array[j].Object;
198 writer.WriteBase64(array2, 0, array2.Length);
199 break;
200 }
201 case XmlEventType.BinHex:
202 {
203 byte[] array2 = (byte[])array[j].Object;
204 writer.WriteBinHex(array2, 0, array2.Length);
205 break;
206 }
207 case XmlEventType.XmlDecl1:
208 xmlRawWriter?.WriteXmlDeclaration((XmlStandalone)array[j].Object);
209 break;
210 case XmlEventType.XmlDecl2:
211 xmlRawWriter?.WriteXmlDeclaration(array[j].String1);
212 break;
213 case XmlEventType.StartContent:
214 xmlRawWriter?.StartElementContent();
215 break;
216 case XmlEventType.EndElem:
217 if (xmlRawWriter != null)
218 {
219 xmlRawWriter.WriteEndElement(array[j].String1, array[j].String2, array[j].String3);
220 }
221 else
222 {
223 writer.WriteEndElement();
224 }
225 break;
226 case XmlEventType.FullEndElem:
227 if (xmlRawWriter != null)
228 {
229 xmlRawWriter.WriteFullEndElement(array[j].String1, array[j].String2, array[j].String3);
230 }
231 else
232 {
233 writer.WriteFullEndElement();
234 }
235 break;
236 case XmlEventType.Nmsp:
237 if (xmlRawWriter != null)
238 {
239 xmlRawWriter.WriteNamespaceDeclaration(array[j].String1, array[j].String2);
240 }
241 else
242 {
243 writer.WriteAttributeString("xmlns", array[j].String1, "http://www.w3.org/2000/xmlns/", array[j].String2);
244 }
245 break;
246 case XmlEventType.EndBase64:
247 xmlRawWriter?.WriteEndBase64();
248 break;
249 case XmlEventType.Close:
250 writer.Close();
251 break;
252 case XmlEventType.Flush:
253 writer.Flush();
254 break;
255 case XmlEventType.Dispose:
256 ((IDisposable)writer).Dispose();
257 break;
258 }
259 }
260 }
261 }
List< XmlEvent[]> _pages

References System.Xml.XmlEventCache._pages, System.Xml.XmlEventCache._singleText, System.array, System.Collections.Generic.Dictionary< TKey, TValue >.Count, System.Xml.Xsl.Runtime.StringConcat.Count, System.Xml.Dictionary, System.Xml.Xsl.Runtime.StringConcat.GetResult(), and System.writer.

Referenced by System.Xml.Xsl.Runtime.RtfTreeNavigator.CopyToWriter(), System.Xml.XmlAutoDetectWriter.CreateWrappedWriter(), and System.Xml.Xsl.Runtime.NavigatorConstructor.GetNavigator().