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

◆ SaveDiffgramData()

void System.Data.XmlDataTreeWriter.SaveDiffgramData ( XmlWriter xw,
Hashtable rowsOrder )
inlinepackage

Definition at line 134 of file XmlDataTreeWriter.cs.

135 {
136 _xmlw = DataTextWriter.CreateWriter(xw);
137 _isDiffgram = true;
139 string prefix = ((_ds == null) ? ((_dt.Namespace.Length == 0) ? "" : _dt.Prefix) : ((_ds.Namespace.Length == 0) ? "" : _ds.Prefix));
140 if (_ds == null || _ds.DataSetName == null || _ds.DataSetName.Length == 0)
141 {
142 _xmlw.WriteStartElement(prefix, "DocumentElement", (_dt.Namespace == null) ? "" : _dt.Namespace);
143 }
144 else
145 {
147 }
148 for (int i = 0; i < _dTables.Count; i++)
149 {
150 DataTable dataTable = (DataTable)_dTables[i];
151 foreach (DataRow row in dataTable.Rows)
152 {
153 if (row.RowState != DataRowState.Deleted)
154 {
155 int nestedParentCount = row.GetNestedParentCount();
156 if (nestedParentCount == 0)
157 {
158 DataTable dataTable2 = (DataTable)_dTables[i];
159 XmlDataRowWriter(row, dataTable2.EncodedTableName);
160 }
161 else if (nestedParentCount > 1)
162 {
163 throw ExceptionBuilder.MultipleParentRows((dataTable.Namespace.Length == 0) ? dataTable.TableName : (dataTable.Namespace + dataTable.TableName));
164 }
165 }
166 }
167 }
169 _xmlw.Flush();
170 }
void XmlDataRowWriter(DataRow row, string encodedTableName)
static ? string EncodeLocalName(string? name)
Definition XmlConvert.cs:49
void WriteStartElement(string localName, string? ns)
Definition XmlWriter.cs:30

References System.Data.XmlDataTreeWriter._ds, System.Data.XmlDataTreeWriter._dt, System.Data.XmlDataTreeWriter._dTables, System.Data.XmlDataTreeWriter._isDiffgram, System.Data.XmlDataTreeWriter._rowsOrder, System.Data.XmlDataTreeWriter._xmlw, System.Collections.ArrayList.Count, System.Data.DataTextWriter.CreateWriter(), System.Data.DataSet.DataSetName, System.Xml.Dictionary, System.Xml.XmlConvert.EncodeLocalName(), System.Xml.XmlWriter.Flush(), System.Data.ExceptionBuilder.MultipleParentRows(), System.Data.DataSet.Namespace, System.Data.DataTable.Namespace, System.Data.DataSet.Prefix, System.Data.DataTable.Prefix, System.prefix, System.Xml.XmlWriter.WriteEndElement(), System.Xml.XmlWriter.WriteStartElement(), and System.Data.XmlDataTreeWriter.XmlDataRowWriter().

Referenced by System.Data.NewDiffgramGen.Save().