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

◆ ReadXmlNodes()

object System.Xml.Serialization.XmlSerializationReader.ReadXmlNodes ( bool elementCanBeType)
inlineprivate

Definition at line 2132 of file XmlSerializationReader.cs.

2133 {
2135 string localName = Reader.LocalName;
2136 string namespaceURI = Reader.NamespaceURI;
2137 string name = Reader.Name;
2138 string text = null;
2139 string text2 = null;
2140 int num = 0;
2141 int lineNumber = -1;
2142 int linePosition = -1;
2143 XmlNode xmlNode = null;
2144 if (Reader.NodeType == XmlNodeType.Attribute)
2145 {
2146 XmlAttribute xmlAttribute = Document.CreateAttribute(name, namespaceURI);
2147 xmlAttribute.Value = Reader.Value;
2149 }
2150 else
2151 {
2153 }
2154 GetCurrentPosition(out lineNumber, out linePosition);
2155 XmlElement xmlElement = xmlNode as XmlElement;
2156 while (Reader.MoveToNextAttribute())
2157 {
2158 if (IsXmlnsAttribute(Reader.Name) || (Reader.Name == "id" && (!_soap12 || Reader.NamespaceURI == "http://www.w3.org/2003/05/soap-encoding")))
2159 {
2160 num++;
2161 }
2162 if ((object)Reader.LocalName == _typeID && ((object)Reader.NamespaceURI == _instanceNsID || (object)Reader.NamespaceURI == _instanceNs2000ID || (object)Reader.NamespaceURI == _instanceNs1999ID))
2163 {
2164 string value = Reader.Value;
2165 int num2 = value.LastIndexOf(':');
2166 text = ((num2 >= 0) ? value.Substring(num2 + 1) : value);
2167 text2 = Reader.LookupNamespace((num2 >= 0) ? value.Substring(0, num2) : "");
2168 }
2169 XmlAttribute xmlAttribute2 = (XmlAttribute)Document.ReadNode(_r);
2171 xmlElement?.SetAttributeNode(xmlAttribute2);
2172 }
2173 if (elementCanBeType && text == null)
2174 {
2175 text = localName;
2179 list.Add(xmlAttribute3);
2180 }
2181 if (text == "anyType" && ((object)text2 == _schemaNsID || (object)text2 == _schemaNs1999ID || (object)text2 == _schemaNs2000ID))
2182 {
2183 num++;
2184 }
2185 Reader.MoveToElement();
2186 if (Reader.IsEmptyElement)
2187 {
2188 Reader.Skip();
2189 }
2190 else
2191 {
2192 Reader.ReadStartElement();
2193 Reader.MoveToContent();
2194 while (Reader.NodeType != XmlNodeType.EndElement)
2195 {
2196 XmlNode xmlNode2 = Document.ReadNode(_r);
2197 list.Add(xmlNode2);
2198 xmlElement?.AppendChild(xmlNode2);
2199 Reader.MoveToContent();
2200 }
2202 }
2203 if (list.Count <= num)
2204 {
2205 return new object();
2206 }
2207 XmlNode[] result = list.ToArray();
2208 UnknownNode(xmlNode, null, null);
2209 return result;
2210 }
void Add(TKey key, TValue value)
void GetCurrentPosition(out int lineNumber, out int linePosition)
override string Value
virtual ? XmlNode ReadNode(XmlReader reader)
XmlElement CreateElement(string name)
XmlAttribute CreateAttribute(string name)

References System.Xml.Serialization.XmlSerializationReader._instanceNs1999ID, System.Xml.Serialization.XmlSerializationReader._instanceNs2000ID, System.Xml.Serialization.XmlSerializationReader._instanceNsID, System.Xml.Serialization.XmlSerializationReader._r, System.Xml.Serialization.XmlSerializationReader._schemaNs1999ID, System.Xml.Serialization.XmlSerializationReader._schemaNs2000ID, System.Xml.Serialization.XmlSerializationReader._schemaNsID, System.Xml.Serialization.XmlSerializationReader._soap12, System.Xml.Serialization.XmlSerializationReader._typeID, System.Collections.Generic.Dictionary< TKey, TValue >.Add(), System.Xml.XmlDocument.CreateAttribute(), System.Xml.XmlDocument.CreateElement(), System.Xml.Dictionary, System.Xml.Serialization.XmlSerializationReader.Document, System.Xml.Serialization.XmlSerializationReader.GetCurrentPosition(), System.Xml.Serialization.XmlSerializationReader.IsXmlnsAttribute(), System.list, System.Xml.Serialization.XmlSerializationReader.ReadEndElement(), System.Xml.XmlDocument.ReadNode(), System.text, System.Xml.Serialization.XmlSerializationReader.UnknownNode(), System.value, and System.Xml.XmlAttribute.Value.

Referenced by System.Xml.Serialization.XmlSerializationReader.ReadTypedPrimitive().