You must need to modify your xml,xsl file name.
protected void Page_Load(object sender, EventArgs e)
{
XslCompiledTransform proc = new XslCompiledTransform();
proc.Load(Server.MapPath("XSLTFile.xsl"));
StringWriter writer = new StringWriter();
proc.Transform(XmlReader.Create(Server.MapPath("form.xml")), null, writer);
P1.Controls.Add(Page.ParseControl(writer.ToString()));
}
Some time Asp.net controls doesn't placed in the pages using xslt so you have to apply the above format or lines or code other wise you can directly render the code using this control