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

◆ ReadContentFrom() [1/2]

bool System.Xml.Linq.XContainer.ContentReader.ReadContentFrom ( XContainer rootContainer,
XmlReader r )
inline

Definition at line 36 of file XContainer.cs.

37 {
38 switch (r.NodeType)
39 {
40 case XmlNodeType.Element:
41 {
42 XElement xElement = new XElement(_eCache.Get(r.NamespaceURI).GetName(r.LocalName));
43 if (r.MoveToFirstAttribute())
44 {
45 do
46 {
47 xElement.AppendAttributeSkipNotify(new XAttribute(_aCache.Get((r.Prefix.Length == 0) ? string.Empty : r.NamespaceURI).GetName(r.LocalName), r.Value));
48 }
49 while (r.MoveToNextAttribute());
50 r.MoveToElement();
51 }
53 if (!r.IsEmptyElement)
54 {
56 }
57 break;
58 }
59 case XmlNodeType.EndElement:
60 if (_currentContainer.content == null)
61 {
62 _currentContainer.content = string.Empty;
63 }
65 {
66 return false;
67 }
69 break;
70 case XmlNodeType.Text:
71 case XmlNodeType.Whitespace:
72 case XmlNodeType.SignificantWhitespace:
74 break;
75 case XmlNodeType.CDATA:
76 _currentContainer.AddNodeSkipNotify(new XCData(r.Value));
77 break;
78 case XmlNodeType.Comment:
79 _currentContainer.AddNodeSkipNotify(new XComment(r.Value));
80 break;
81 case XmlNodeType.ProcessingInstruction:
82 _currentContainer.AddNodeSkipNotify(new XProcessingInstruction(r.Name, r.Value));
83 break;
84 case XmlNodeType.DocumentType:
85 _currentContainer.AddNodeSkipNotify(new XDocumentType(r.LocalName, r.GetAttribute("PUBLIC"), r.GetAttribute("SYSTEM"), r.Value));
86 break;
87 case XmlNodeType.EntityReference:
88 if (!r.CanResolveEntity)
89 {
91 }
92 r.ResolveEntity();
93 break;
94 default:
96 case XmlNodeType.EndEntity:
97 break;
98 }
99 return true;
100 }
static string Format(string resourceFormat, object p1)
Definition SR.cs:118
static string InvalidOperation_UnresolvedEntityReference
Definition SR.cs:60
static string InvalidOperation_UnexpectedNodeType
Definition SR.cs:58
Definition SR.cs:7
void AddNodeSkipNotify(XNode n)
void AddStringSkipNotify(string s)
XName GetName(string localName)
Definition XNamespace.cs:37
XContainer parent
Definition XObject.cs:7
XNamespace Get(string namespaceName)

References System.Xml.Linq.XContainer.ContentReader._aCache, System.Xml.Linq.XContainer.ContentReader._currentContainer, System.Xml.Linq.XContainer.ContentReader._eCache, System.Xml.Linq.XContainer.AddNodeSkipNotify(), System.Xml.Linq.XContainer.AddStringSkipNotify(), System.Xml.Linq.XContainer.content, System.Xml.Dictionary, System.SR.Format(), System.Xml.Linq.NamespaceCache.Get(), System.Xml.Linq.XNamespace.GetName(), System.SR.InvalidOperation_UnexpectedNodeType, System.SR.InvalidOperation_UnresolvedEntityReference, and System.Xml.Linq.XObject.parent.