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

◆ WriteNode() [1/2]

virtual void System.Xml.XmlWriter.WriteNode ( XmlReader reader,
bool defattr )
inlinevirtualinherited

Reimplemented in System.Xml.XmlDictionaryAsyncCheckWriter, System.Xml.XmlDictionaryWriter.XmlWrappedWriter, System.Xml.XmlDictionaryWriter, System.Xml.XmlAsyncCheckWriter, and System.Xml.XmlRawWriter.

Definition at line 253 of file XmlWriter.cs.

254 {
255 if (reader == null)
256 {
257 throw new ArgumentNullException("reader");
258 }
259 bool canReadValueChunk = reader.CanReadValueChunk;
260 int num = ((reader.NodeType == XmlNodeType.None) ? (-1) : reader.Depth);
261 do
262 {
263 switch (reader.NodeType)
264 {
265 case XmlNodeType.Element:
266 WriteStartElement(reader.Prefix, reader.LocalName, reader.NamespaceURI);
267 WriteAttributes(reader, defattr);
268 if (reader.IsEmptyElement)
269 {
271 }
272 break;
273 case XmlNodeType.Text:
275 {
276 if (_writeNodeBuffer == null)
277 {
278 _writeNodeBuffer = new char[1024];
279 }
280 int count;
281 while ((count = reader.ReadValueChunk(_writeNodeBuffer, 0, 1024)) > 0)
282 {
284 }
285 }
286 else
287 {
288 WriteString(reader.Value);
289 }
290 break;
291 case XmlNodeType.Whitespace:
292 case XmlNodeType.SignificantWhitespace:
293 WriteWhitespace(reader.Value);
294 break;
295 case XmlNodeType.CDATA:
296 WriteCData(reader.Value);
297 break;
298 case XmlNodeType.EntityReference:
299 WriteEntityRef(reader.Name);
300 break;
301 case XmlNodeType.ProcessingInstruction:
302 case XmlNodeType.XmlDeclaration:
303 WriteProcessingInstruction(reader.Name, reader.Value);
304 break;
305 case XmlNodeType.DocumentType:
306 WriteDocType(reader.Name, reader.GetAttribute("PUBLIC"), reader.GetAttribute("SYSTEM"), reader.Value);
307 break;
308 case XmlNodeType.Comment:
309 WriteComment(reader.Value);
310 break;
311 case XmlNodeType.EndElement:
313 break;
314 }
315 }
316 while (reader.Read() && (num < reader.Depth || (num == reader.Depth && reader.NodeType == XmlNodeType.EndElement)));
317 }
void WriteCData(string? text)
void WriteComment(string? text)
void WriteProcessingInstruction(string name, string? text)
void WriteEntityRef(string name)
void WriteString(string? text)
void WriteChars(char[] buffer, int index, int count)
virtual void WriteAttributes(XmlReader reader, bool defattr)
Definition XmlWriter.cs:211
void WriteWhitespace(string? ws)
void WriteDocType(string name, string? pubid, string? sysid, string? subset)
void WriteStartElement(string localName, string? ns)
Definition XmlWriter.cs:30

References System.Xml.XmlWriter._writeNodeBuffer, System.Xml.XmlReader.CanReadValueChunk, System.count, System.Xml.XmlReader.Depth, System.Xml.Dictionary, System.Xml.XmlReader.GetAttribute(), System.Xml.XmlReader.IsEmptyElement, System.Xml.XmlReader.LocalName, System.Xml.XmlReader.Name, System.Xml.XmlReader.NamespaceURI, System.Xml.XmlReader.NodeType, System.Xml.XmlReader.Prefix, System.Xml.XmlReader.Read(), System.Xml.XmlReader.ReadValueChunk(), System.Xml.XmlReader.Value, System.Xml.XmlWriter.WriteAttributes(), System.Xml.XmlWriter.WriteCData(), System.Xml.XmlWriter.WriteChars(), System.Xml.XmlWriter.WriteComment(), System.Xml.XmlWriter.WriteDocType(), System.Xml.XmlWriter.WriteEndElement(), System.Xml.XmlWriter.WriteEntityRef(), System.Xml.XmlWriter.WriteFullEndElement(), System.Xml.XmlWriter.WriteProcessingInstruction(), System.Xml.XmlWriter.WriteStartElement(), System.Xml.XmlWriter.WriteString(), and System.Xml.XmlWriter.WriteWhitespace().

Referenced by System.Diagnostics.XmlWriterTraceListener.WriteData(), System.Xml.XmlDictionaryWriter.XmlWrappedWriter.WriteNode(), System.Xml.XmlAsyncCheckWriter.WriteNode(), and System.Xml.XmlAsyncCheckWriter.WriteNode().