У меня есть C# класс, который преобразует XSLT в HTML, используя этот код:возвращаемая строка с сервера содержит т г п
public class MyXslTransform
{
public XslTransform(string styleSheetPath)
{
Xslt = new XslCompiledTransform();
Xslt.Load(StyleSheetPath);
}
public string TransformToString(XmlDocument doc)
{
using (var sw = new StringWriter())
{
XmlReader reader = new XmlNodeReader(doc);
Xslt.Transform(reader, null, sw);
string html = sw.ToString();
return html;
}
}
private XslCompiledTransform Xslt { get; set; }
}
я вернуть HTML строку как тип строки в веб-контроллера. Но когда он приходит в браузер, я получаю массу: \t \r\n \"
и т. Д. Как я могу избавиться от этой кодировки для новой строки, табуляции и т. Д. В браузере я использую AngularJS и C# REST web api.
Если я использую этот код вместо в TransformToString
метод:
using (MemoryStream ms = new MemoryStream())
{
using (XmlTextWriter writer = new XmlTextWriter(ms, Encoding.UTF8))
{
Xslt.Transform(doc.CreateNavigator(), writer);
ms.Position = 0;
using (var sr = new StreamReader(ms))
{
return sr.ReadToEnd();
}
}
}
я только получаю \n
, \t
и бежал двойные кавычки \"
Метод в контроллере:
[HttpGet]
public string GetHtmlFromXslt()
{
return GetHtmlFromXmlAndXslt();
}
только для тестирования. Можете ли вы написать для записи своей итоговой строки. 'return sr.ReadToEnd()' excnahge to 'var temp = sr.ReadToEnd(); File.WriteAllText ("1.txt", temp); '. Будет ли в файле «1.txt» символы \ n, \ t? –
Он хранит \ r \ n, но не как видимые символы, а как пробелы. Может быть, я не должен возвращать его как строку? – AlexandruC