Loading xml data from www.text

I can load a comma deliminated version of my xml data into my class fine, but in order to make it cleaner I wanted to output the data from my server in xml format and then load it in unity.

In none xml format, I use WWW.text and then parse it. so Im assuming that to get xml from the web I would use the same thing.

I can also load an xml file fine using the following code:

	public static object Load(Type type, string path)
	{
		object data;
		try
		{
			StreamReader reader = new StreamReader(path);
			XmlSerializer xml = new XmlSerializer(type);
			data = xml.Deserialize(reader);
			reader.Close ();
		}
		catch
		{
			data = null;
		}
		
		return data;
	}

However getting an xml schema from www.text and then deserializing it has not worked for me. Ive tried multiple derivative of the above code. Could some one aid me in collecting xml from www.text?

the output from my server is standard xml format.

EDIT:

Here is a slightly modified version that has given me the most luck. It seems it is loading the xml file because an exception isnt thrown in my catch block, although the class values its supposed to populate are still showing up null. Again, when i use the version that loads from files it works perfectly.

public static object LoadXML(Type type, string url)
	{
		object data;

        try
        {
            using (StringReader reader = new StringReader(url))
            {
                XmlSerializer xml = new XmlSerializer(type);
                data = xml.Deserialize(reader);
                reader.Close();
            }
        }
        catch(Exception exception)
        {
			Debug.LogError (exception);
			data = type.GetConstructor(Type.EmptyTypes).Invoke(null);
		}
		
		Debug.Log (data.ToString());
        return data;
	}

Its possible www.text sometimes comes with some unwanted characters. Try using replace in the www.text, one that has always got me is the indent character, try:

string cleanedResponse = www.text.Replace("\ ", “”);

The issue ended up being a problem with uppercase and lower case. But this peice of code is what exposed it almost immediately.

Using xmlserializers event handlers, I was able to nail down the problem:

	private void Serializer_UnknownElement(object sender, XmlElementEventArgs e)
	{
      Debug.Log("Unknown Element");
      Debug.Log(e.Element.Name + " " + e.Element.InnerXml);
      Debug.Log("LineNumber: " + e.LineNumber);
      Debug.Log("LinePosition: " + e.LinePosition);

      gtMember x  = (gtMember) e.ObjectBeingDeserialized;
      Debug.Log(x.AccountName_a);
      Debug.Log(sender.ToString());
   }

And then insert this into the xml string serializer from above:
serializer.UnknownElement+=new XmlElementEventHandler(Serializer_UnknownElement);