名前空間 School の下に単純なクラス Student があります。
namespace XmlTestApp
{
public class Student
{
private string studentId;
public string FirstName;
public string MI;
public string LastName;
public Student()
{
//Just provided for making Serialization work as obj.GetType() needs parameterless constructor.
}
public Student(String studentId)
{
this.studentId = studentId;
}
}
}
これをシリアル化すると、シリアル化された xml として取得されます。
<?xml version="1.0" encoding="utf-8"?>
<Student xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<FirstName>Cad</FirstName>
<MI>Dsart</MI>
<LastName>dss</LastName>
</Student>
しかし、私が欲しいのはこれです。基本的に、xml のクラス名の前に付けられた名前空間が必要です。これは可能ですか?
<?xml version="1.0" encoding="utf-8"?>
<XmlTestApp:Student xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<FirstName>Cad</FirstName>
<MI>Dsart</MI>
<LastName>dss</LastName>
</Student>
ここに私のシリアライゼーションコードがあります:
Student s = new Student("2");
s.FirstName = "Cad";
s.LastName = "dss";
s.MI = "Dsart";
System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(s.GetType());
TextWriter txtW=new StreamWriter(Server.MapPath("~/XMLFile1.xml"));
x.Serialize(txtW,s);