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″?> 请问还有什么方法能实现这个问题呢? |
|
10分 |
WriteProcessingInstruction这个方法有没有重载,选择追加位置?
|
30分 |
writer.WriteStartDocument(); //添加此行
writer.WriteProcessingInstruction(“xml-stylesheet”, “type=”text/xsl” href=”form/record.xsl””); |
这样不行的,Serialize方法本来就自动添加了<?xml version=”1.0″ encoding=”utf-8″?>,如果再写WriteStartDocument就变成了这样: |
|
30分 |
换个思路,读出xml,在<?xml version=”1.0″ encoding=”utf-8″?>之后插入
<?xml-stylesheet type=”text/xsl” href=”form/index2.xsl”?> |
30分 |
|
问题解决了 参照这里
http://www.cnblogs.com/fish-li/archive/2013/05/05/3061816.html |