public static SQLWebProxyResult FromXml(XDocument xml) { SQLWebProxyResultReader result = new SQLWebProxyResultReader(); XElement rowsElem = xml.Root.Element("Rows"); int rowCount = int.Parse(rowsElem.Attribute("RowCount").Value); int fieldCount = int.Parse(rowsElem.Attribute("FieldCount").Value); result.Rows = new object[rowCount][]; int cnt = 0; foreach (XElement rowNode in rowsElem.Elements()) { result.Rows[cnt] = new object[fieldCount]; int cnt2 = 0; foreach (XElement colNode in rowNode.Elements()) { result.Rows[cnt][cnt2++] = TypeSerializer.Deserialize(colNode.Element("Value")); } cnt++; } return result; }
private static void TestSerialize() { SQLWebProxyResultOk ok = new SQLWebProxyResultOk(); string xml = ok.ToXml(); SQLWebProxyResultError error = new SQLWebProxyResultError(); error.Error = "Alles doof"; xml = error.ToXml(); error.Error = "Nu is weg"; error = SQLWebProxyResultError.FromXml(xml) as SQLWebProxyResultError; SQLWebProxyResultNonQuery nonquery = new SQLWebProxyResultNonQuery(); nonquery.Value = 42; xml = nonquery.ToXml(); nonquery.Value = 0; nonquery = SQLWebProxyResultNonQuery.FromXml(xml) as SQLWebProxyResultNonQuery; SQLWebProxyResultScalar scalar = new SQLWebProxyResultScalar(); scalar.ScalarValue = "Hallo Welt!"; xml = scalar.ToXml(); scalar.ScalarValue = null; scalar = SQLWebProxyResultScalar.FromXml(xml) as SQLWebProxyResultScalar; scalar = new SQLWebProxyResultScalar(); scalar.ScalarValue = (short)42; xml = scalar.ToXml(); scalar.ScalarValue = null; scalar = SQLWebProxyResultScalar.FromXml(xml) as SQLWebProxyResultScalar; scalar = new SQLWebProxyResultScalar(); scalar.ScalarValue = 47.11; xml = scalar.ToXml(); scalar.ScalarValue = null; scalar = SQLWebProxyResultScalar.FromXml(xml) as SQLWebProxyResultScalar; SQLWebProxyResultReader reader = new SQLWebProxyResultReader(); List<object[]> rowList = new List<object[]>(); rowList.Add(new object[] { 4711, "Test123", "Super", 0.01 }); rowList.Add(new object[] { 4711, 999, null, "Willi" }); reader.Rows = rowList.ToArray(); xml = reader.ToXml(); reader.Rows = null; reader = SQLWebProxyResultReader.FromXml(xml) as SQLWebProxyResultReader; }
private string ConstructReader(object[][] rows) { SQLWebProxyResultReader reader = new SQLWebProxyResultReader(); reader.Rows = rows; return reader.ToXml(); }