public XmlTestObject WithXmlReader() { using (MemoryStream ms = new MemoryStream(data)) using (XmlTextReader reader = new XmlTextReader(ms)) { XmlTestObject obj = new XmlTestObject(); obj.People = new List <Person>(2); while (reader.Read()) { if (!reader.IsStartElement()) { continue; } if (reader.LocalName != "Person") { continue; } Person p = new Person(); while (reader.Read()) { switch (reader.LocalName) { case "Name": p.Name = reader.ReadString(); break; case "Age": p.Age = reader.ReadElementContentAsInt(); break; case "IsMissing": p.IsMissing = reader.ReadElementContentAsBoolean(); break; } if (reader.LocalName == "Person" && reader.NodeType == XmlNodeType.EndElement) { break; } } obj.People.Add(p); } return(obj); } }
public void TestToDataType() { IRestDataSerializer serializer = new XmlRestDataSerializer(); XmlTestObject obj = new XmlTestObject() { field1 = "1", field2 = 2, field3 = true }; string result = serializer.ToDataType <XmlTestObject>(obj); Assert.AreEqual <string>("<?xml version=\"1.0\" encoding=\"utf-16\"?>\r\n<XmlTestObject xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">\r\n <field1>1</field1>\r\n <field2>2</field2>\r\n <field3>true</field3>\r\n</XmlTestObject>", result); }