public void RecursiveMemberTest() { Type parsedType, parsedArrayType; string xml = @"<?xml version=""1.0"" ?> <value> <struct> <member> <name>Level</name> <value>1</value> </member> <member> <name>childExample</name> <value> <struct> <member> <name>Level</name> <value>2</value> </member> <member> <name>childExample</name> <value> <struct> <member> <name>Level</name> <value>3</value> </member> </struct> </value> </member> </struct> </value> </member> </struct> </value>"; object obj = Utils.Parse(xml, typeof(RecursiveMember), MappingAction.Error, out parsedType, out parsedArrayType); RecursiveMember ret = (RecursiveMember)obj; }
public void RecursiveMemberTest() { Stream stm = new MemoryStream(); var req = new XmlRpcRequest(); var example = new RecursiveMember { Level = "1", childExample = new RecursiveMember { Level = "2", childExample = new RecursiveMember { Level = "3", } } }; req.args = new Object[] { example }; req.method = "Foo"; var ser = new XmlRpcSerializer(); ser.UseStringTag = false; ser.SerializeRequest(stm, req); stm.Position = 0; TextReader tr = new StreamReader(stm); var reqstr = tr.ReadToEnd(); Assert.AreEqual( @"<?xml version=""1.0""?> <methodCall> <methodName>Foo</methodName> <params> <param> <value> <struct> <member> <name>Level</name> <value>1</value> </member> <member> <name>childExample</name> <value> <struct> <member> <name>Level</name> <value>2</value> </member> <member> <name>childExample</name> <value> <struct> <member> <name>Level</name> <value>3</value> </member> </struct> </value> </member> </struct> </value> </member> </struct> </value> </param> </params> </methodCall>", reqstr); }
public void RecursiveMemberTest() { Stream stm = new MemoryStream(); XmlRpcRequest req = new XmlRpcRequest(); var example = new RecursiveMember { Level = "1", childExample = new RecursiveMember { Level = "2", childExample = new RecursiveMember { Level = "3", } } }; req.args = new Object[] { example }; req.method = "Foo"; XmlRpcSerializer ser = new XmlRpcSerializer(); ser.UseStringTag = false; ser.SerializeRequest(stm, req); stm.Position = 0; TextReader tr = new StreamReader(stm); string reqstr = tr.ReadToEnd(); Assert.AreEqual( @"<?xml version=""1.0""?> <methodCall> <methodName>Foo</methodName> <params> <param> <value> <struct> <member> <name>Level</name> <value>1</value> </member> <member> <name>childExample</name> <value> <struct> <member> <name>Level</name> <value>2</value> </member> <member> <name>childExample</name> <value> <struct> <member> <name>Level</name> <value>3</value> </member> </struct> </value> </member> </struct> </value> </member> </struct> </value> </param> </params> </methodCall>", reqstr); }