111,092
社区成员




class Program
{
static void Main(string[] args)
{
string xml = "<aaa xmlns:i=\"123\" xmlns=\"123\"><a>a</a><b>b</b></aaa>";
var re=XmlToModel<aaa>(xml);
Console.ReadLine();
}
public static T XmlToModel<T>(string xml)
{
StringReader xmlReader = new StringReader(xml);
XmlSerializer xmlSer = new XmlSerializer(typeof(T));
return (T)xmlSer.Deserialize(xmlReader);
}
}
public class aaa
{
public string a { get; set; }
public string b { get; set; }
}
public static T XmlToModel<T>(string xml)
{
StringReader xmlReader = new StringReader(xml);
XmlTextReader xr = new XmlTextReader(xmlReader);
xr.Namespaces = false;
XmlSerializer xmlSer = new XmlSerializer(typeof(T));
return (T)xmlSer.Deserialize(xr);
}
[System.Xml.Serialization.XmlRoot(Namespace = "csofxml://Teacher.cs")]
class Teacher
{
[System.Xml.Serialization.XmlElement]
public string Name { get; set; }
[System.Xml.Serialization.XmlArray("Students")]
[System.Xml.Serialization.XmlArrayItem(Namespace = "csofxml://Student.cs")]
public Student[] Students { get; set; }
}
[System.Xml.Serialization.XmlRoot(Namespace = "csofxml://Student.cs")]
class Student
{
[System.Xml.Serialization.XmlElement]
public string Name { get; set; }
}
[System.Xml.Serialization.XmlRoot(Namespace = "csofxml://Teacher.cs")]
class Teacher
{
[System.Xml.Serialization.XmlElement]
public string Name { get; set; }
[System.Xml.Serialization.XmlArray("Students")]
[System.Xml.Serialization.XmlArrayItem(Namespace = "csofxml://Student.cs")]
public Student Students { get; set; }
}
[System.Xml.Serialization.XmlRoot(Namespace = "csofxml://Student.cs")]
class Student
{
[System.Xml.Serialization.XmlElement]
public string Name { get; set; }
}
否则会找不到的,tablenamespace 会出错。