2
使用下面的代碼:XslCompiledTransform換行符,如何輸入它們?
XDocument transformedDoc = new XDocument();
using (XmlWriter writer = transformedDoc.CreateWriter())
{
XslCompiledTransform transform = new XslCompiledTransform();
//transform.Load(XmlReader.Create(new StringReader(HttpContext.Current.Server.MapPath("~/XML/CareLog.xsl"))));
transform.Load(HttpContext.Current.Server.MapPath("~/XML/CareLog.xsl"));
transform.Transform(doc.CreateReader(), writer);
}
我從一個數據庫,包含<br />
的線回報(如在別處使用)的一些字符串。無論我用什麼替換它,Environment.NewLine,\ n等,它都不會在轉換後的文檔中出現換行符。
編輯
更換符合\ r \ n打破,改變爲按以下建議:
var xslt = new XslCompiledTransform();
xslt.Load(HttpContext.Current.Server.MapPath("~/XML/CareLogresidenceSummary.xsl"));
var settings = xslt.OutputSettings.Clone();
settings.NewLineChars = "\n";
using (var reader = doc.CreateReader())
{
using (var writer = XmlWriter.Create(HttpContext.Current.Server.MapPath("~/BrowserTemp/CareLogResidenceSummary.xml"), settings))
{
xslt.Transform(reader, writer);
}
}
仍會創建轉化文件確定,但仍然沒有放任何東西到一個新的生產線。作爲參考,我將重命名帶有擴展名爲.doc的轉換後的文檔以便在Word中打開,XML有換行符,但在Word中打開時沒有。
請參閱編輯。 – user1166905
嘗試設置NewLineHandling選項,例如像「settings.NewLineHandling = NewLineHandling.Replace」。調查NewLineHandling文章中指定的選項。 –
Nope沒有任何區別 – user1166905