Xml序列化时如何添加文件引用声明

Xml序列化时怎么添加文件引用声明
Xml序列化生成的代码是没有样式表引用的,我想添加一个样式引用,所以这样写:       
        
 using (StreamWriter streamWriter = new StreamWriter(fileName, false))
                {

                    using (XmlTextWriter writer = new XmlTextWriter(streamWriter))
                    {
                      //我用WriteProcessingInstruction添加引用声明但是这行只能插到文件开头,与我的要求不符
                        writer.WriteProcessingInstruction("xml-stylesheet", "type=\"text/xsl\" href=\"form/record.xsl\"");
                        serializer.Serialize(streamWriter, model, ns);
                    }
                }
                fs.Dispose();

但是:
我要的效果是这样的:

<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="form/index2.xsl"?>

实际效果是这样的:

<?xml-stylesheet type="text/xsl" href="form/index2.xsl"?><?xml version="1.0" encoding="utf-8"?>


请问还有什么方法能实现这个问题呢?
------解决思路----------------------
WriteProcessingInstruction这个方法有没有重载,选择追加位置?
------解决思路----------------------
writer.WriteStartDocument(); //添加此行
writer.WriteProcessingInstruction("xml-stylesheet", "type=\"text/xsl\" href=\"form/record.xsl\"");


------解决思路----------------------
换个思路,读出xml,在<?xml version="1.0" encoding="utf-8"?>之后插入
<?xml-stylesheet type="text/xsl" href="form/index2.xsl"?>
------解决思路----------------------
找一个折中的方法,在你所要序列化的类中添加一个字符串字段,
[XmlText]
public string styleShee="<?xml-stylesheet type="text/xsl" href="form/record.xsl"?>"
如果还不行,那就自己控制序列化过程。