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

◆ WriteStartElement() [3/6]

override void System.Runtime.Serialization.Json.XmlJsonWriter.WriteStartElement ( string prefix,
string localName,
string ns )
inline

Definition at line 830 of file XmlJsonWriter.cs.

831 {
832 if (localName == null)
833 {
834 throw new ArgumentNullException("localName");
835 }
836 if (localName.Length == 0)
837 {
839 }
840 if (!string.IsNullOrEmpty(prefix) && (string.IsNullOrEmpty(ns) || !TrySetWritingNameWithMapping(localName, ns)))
841 {
843 }
844 if (!string.IsNullOrEmpty(ns) && !TrySetWritingNameWithMapping(localName, ns))
845 {
847 }
848 if (IsClosed)
849 {
850 ThrowClosed();
851 }
853 {
855 }
856 if (_nodeType != 0 && _depth == 0)
857 {
859 }
860 switch (_nodeType)
861 {
862 case JsonNodeType.None:
863 if (!localName.Equals("root"))
864 {
865 throw new XmlException(System.SR.Format(System.SR.JsonInvalidRootElementName, localName, "root"));
866 }
867 EnterScope(JsonNodeType.Element);
868 break;
869 case JsonNodeType.Element:
870 if (_dataType != JsonDataType.Array && _dataType != JsonDataType.Object)
871 {
873 }
874 if (_indent)
875 {
876 WriteNewLine();
877 WriteIndent();
878 }
880 {
881 if (_nameState != NameState.IsWritingNameWithMapping)
882 {
883 WriteJsonElementName(localName);
884 }
885 }
886 else if (!localName.Equals("item"))
887 {
889 }
890 EnterScope(JsonNodeType.Element);
891 break;
892 case JsonNodeType.EndElement:
894 {
896 }
897 if (_indent)
898 {
899 WriteNewLine();
900 WriteIndent();
901 }
903 {
904 if (_nameState != NameState.IsWritingNameWithMapping)
905 {
906 WriteJsonElementName(localName);
907 }
908 }
909 else if (!localName.Equals("item"))
910 {
912 }
913 EnterScope(JsonNodeType.Element);
914 break;
915 default:
917 }
922 _serverTypeValue = null;
923 _dataType = JsonDataType.None;
924 _nodeType = JsonNodeType.Element;
925 }
bool TrySetWritingNameWithMapping(string localName, string ns)
void EnterScope(JsonNodeType currentNodeType)
static string JsonMultipleRootElementsNotAllowedOnWriter
Definition SR.cs:584
static string JsonInvalidLocalNameEmpty
Definition SR.cs:570
static string JsonNodeTypeArrayOrObjectNotSpecified
Definition SR.cs:588
static string JsonInvalidRootElementName
Definition SR.cs:586
static string Format(string resourceFormat, object p1)
Definition SR.cs:118
static string JsonPrefixMustBeNullOrEmpty
Definition SR.cs:572
static string JsonNamespaceMustBeEmpty
Definition SR.cs:558
static string JsonInvalidStartElementCall
Definition SR.cs:592
static string JsonInvalidItemNameForArrayElement
Definition SR.cs:590
static string JsonOpenAttributeMustBeClosedFirst
Definition SR.cs:562
Definition SR.cs:7

References System.Runtime.Serialization.Json.XmlJsonWriter._dataType, System.Runtime.Serialization.Json.XmlJsonWriter._depth, System.Runtime.Serialization.Json.XmlJsonWriter._endElementBuffer, System.Runtime.Serialization.Json.XmlJsonWriter._indent, System.Runtime.Serialization.Json.XmlJsonWriter._isWritingDataTypeAttribute, System.Runtime.Serialization.Json.XmlJsonWriter._isWritingServerTypeAttribute, System.Runtime.Serialization.Json.XmlJsonWriter._isWritingXmlnsAttribute, System.Runtime.Serialization.Json.XmlJsonWriter._nameState, System.Runtime.Serialization.Json.XmlJsonWriter._nodeType, System.Runtime.Serialization.Json.XmlJsonWriter._nodeWriter, System.Runtime.Serialization.Json.XmlJsonWriter._serverTypeValue, System.Runtime.Serialization.Json.XmlJsonWriter._wroteServerTypeAttribute, System.Xml.ArgumentException, System.Runtime.Serialization.Json.XmlJsonWriter.EnterScope(), System.SR.Format(), System.Runtime.Serialization.Json.XmlJsonWriter.HasOpenAttribute, System.Runtime.Serialization.Json.XmlJsonWriter.IsClosed, System.Runtime.Serialization.Json.XmlJsonWriter.IsWritingCollection, System.SR.JsonInvalidItemNameForArrayElement, System.SR.JsonInvalidLocalNameEmpty, System.SR.JsonInvalidRootElementName, System.SR.JsonInvalidStartElementCall, System.SR.JsonMultipleRootElementsNotAllowedOnWriter, System.SR.JsonNamespaceMustBeEmpty, System.SR.JsonNodeTypeArrayOrObjectNotSpecified, System.SR.JsonOpenAttributeMustBeClosedFirst, System.SR.JsonPrefixMustBeNullOrEmpty, System.prefix, System.Runtime.Serialization.Json.XmlJsonWriter.ThrowClosed(), System.Runtime.Serialization.Json.XmlJsonWriter.TrySetWritingNameWithMapping(), System.Runtime.Serialization.Json.XmlJsonWriter.WriteIndent(), System.Runtime.Serialization.Json.XmlJsonWriter.WriteJsonElementName(), System.Runtime.Serialization.Json.XmlJsonWriter.WriteNewLine(), System.Xml.XmlUTF8NodeWriter.WriteText(), and System.Xml.XmlException.

Referenced by System.Runtime.Serialization.Json.XmlJsonWriter.WriteServerTypeAttribute().