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

◆ WriteStartElement() [3/3]

override void System.Xml.XmlBinaryNodeWriter.WriteStartElement ( string prefix,
XmlDictionaryString localName )
inline

Definition at line 257 of file XmlBinaryNodeWriter.cs.

258 {
259 if (!TryGetKey(localName, out var key))
260 {
261 WriteStartElement(prefix, localName.Value);
262 return;
263 }
264 if (string.IsNullOrEmpty(prefix))
265 {
266 WriteNode(XmlBinaryNodeType.ShortDictionaryElement);
267 WriteDictionaryString(localName, key);
268 return;
269 }
270 char c = prefix[0];
271 if (prefix.Length == 1 && c >= 'a' && c <= 'z')
272 {
273 WritePrefixNode(XmlBinaryNodeType.PrefixDictionaryElementA, c - 97);
274 WriteDictionaryString(localName, key);
275 }
276 else
277 {
278 WriteNode(XmlBinaryNodeType.DictionaryElement);
280 WriteDictionaryString(localName, key);
281 }
282 }
void WritePrefixNode(XmlBinaryNodeType nodeType, int ch)
override void WriteStartElement(string prefix, string localName)
bool TryGetKey(XmlDictionaryString s, out int key)
void WriteDictionaryString(XmlDictionaryString s, int key)
void WriteNode(XmlBinaryNodeType nodeType)

References System.Xml.Dictionary, System.key, System.prefix, System.Xml.XmlBinaryNodeWriter.TryGetKey(), System.Xml.XmlDictionaryString.Value, System.Xml.XmlBinaryNodeWriter.WriteDictionaryString(), System.Xml.XmlBinaryNodeWriter.WriteName(), System.Xml.XmlBinaryNodeWriter.WriteNode(), System.Xml.XmlBinaryNodeWriter.WritePrefixNode(), and System.Xml.XmlBinaryNodeWriter.WriteStartElement().