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

◆ LoadNodeDirect()

XmlNode System.Xml.XmlLoader.LoadNodeDirect ( )
inlineprivate

Definition at line 379 of file XmlLoader.cs.

380 {
381 XmlReader reader = _reader;
382 XmlNode xmlNode = null;
383 do
384 {
385 XmlNode xmlNode2 = null;
386 switch (reader.NodeType)
387 {
388 case XmlNodeType.Element:
389 {
391 XmlElement xmlElement = new XmlElement(_reader.Prefix, _reader.LocalName, _reader.NamespaceURI, _doc);
394 {
395 XmlAttributeCollection attributes = xmlElement.Attributes;
396 do
397 {
398 XmlAttribute node = LoadAttributeNodeDirect();
399 attributes.Append(node);
400 }
401 while (reader.MoveToNextAttribute());
402 }
403 if (!isEmptyElement)
404 {
405 xmlNode.AppendChildForLoad(xmlElement, _doc);
407 continue;
408 }
410 break;
411 }
412 case XmlNodeType.EndElement:
413 if (xmlNode.ParentNode == null)
414 {
415 return xmlNode;
416 }
417 xmlNode = xmlNode.ParentNode;
418 continue;
419 case XmlNodeType.EntityReference:
421 break;
422 case XmlNodeType.Attribute:
424 break;
425 case XmlNodeType.SignificantWhitespace:
426 xmlNode2 = new XmlSignificantWhitespace(_reader.Value, _doc);
427 break;
428 case XmlNodeType.Whitespace:
430 {
431 xmlNode2 = new XmlWhitespace(_reader.Value, _doc);
432 break;
433 }
434 continue;
435 case XmlNodeType.Text:
437 break;
438 case XmlNodeType.CDATA:
439 xmlNode2 = new XmlCDataSection(_reader.Value, _doc);
440 break;
441 case XmlNodeType.ProcessingInstruction:
442 xmlNode2 = new XmlProcessingInstruction(_reader.Name, _reader.Value, _doc);
443 break;
444 case XmlNodeType.Comment:
445 xmlNode2 = new XmlComment(_reader.Value, _doc);
446 break;
447 default:
449 case XmlNodeType.EndEntity:
450 continue;
451 }
452 if (xmlNode != null)
453 {
454 xmlNode.AppendChildForLoad(xmlNode2, _doc);
455 continue;
456 }
457 return xmlNode2;
458 }
459 while (reader.Read());
460 return null;
461 }
XmlAttribute LoadAttributeNodeDirect()
Definition XmlLoader.cs:463
static Exception UnexpectedNodeType(XmlNodeType nodetype)
Definition XmlLoader.cs:841
XmlEntityReference LoadEntityReferenceNode(bool direct)
Definition XmlLoader.cs:296
XmlDocument _doc
Definition XmlLoader.cs:9
XmlNodeType NodeType
Definition XmlReader.cs:62
virtual string Name
Definition XmlReader.cs:65

References System.Xml.XmlLoader._doc, System.Xml.XmlLoader._preserveWhitespace, System.Xml.XmlLoader._reader, System.Xml.XmlAttributeCollection.Append(), System.Xml.Dictionary, System.Xml.XmlReader.IsEmptyElement, System.Xml.XmlLoader.LoadAttributeNodeDirect(), System.Xml.XmlLoader.LoadEntityReferenceNode(), System.Xml.XmlReader.LocalName, System.Xml.XmlReader.MoveToFirstAttribute(), System.Xml.XmlReader.MoveToNextAttribute(), System.Xml.XmlReader.Name, System.Xml.XmlReader.NamespaceURI, System.Xml.XmlReader.NodeType, System.Xml.XmlReader.Prefix, System.Xml.XmlReader.Read(), System.Xml.XmlLoader.UnexpectedNodeType(), System.Xml.XmlReader.Value, and System.Xml.XmlText.

Referenced by System.Xml.XmlLoader.LoadEntityReferenceNode(), and System.Xml.XmlLoader.ParsePartialContent().