1
我想在源xml上應用XSL樣式表並將輸出寫入目標xml文件。 xsl刪除源xml中存在的xml註釋。如何使用XSLT和XMLWRITER創建具有特定編碼的XML
目標xml文件在標題中具有UTF-16編碼。
但我仍然希望輸出xml是utf-8編碼。我使用的代碼是
XmlWriterSettings xwrSettings = new XmlWriterSettings();
**xwrSettings.Encoding = Encoding.UTF8;**
XslCompiledTransform xslt = new XslCompiledTransform();
xslt.Load("sample.xsl");
StringBuilder sb = new StringBuilder();
XmlReader xReader = XmlReader.Create("Source.xml");
XmlWriter xWriter = XmlWriter.Create(sb, xwrSettings);
xslt.Transform(xReader, xWriter);
File.WriteAllText("Target.xml",sb.ToString());
我試圖將xml編寫器設置爲UTF-8,但它不工作。
感謝你是正確的response.Yes如果我直接寫它的工作原理文件。但我需要該stringbuilder對象進一步處理xml內容,然後我會寫入該文件。因爲我使用這個stringbuilder對象,所以它將它寫爲UTF-16。 – Defendore 2010-09-15 11:45:57
@padman - 你可以繼承StringWriter並覆蓋編碼 - 應該如此。 – 2010-09-15 16:23:22