Compare commits
No commits in common. "c996ddc53c17d437e7f20bd138f584a09c20180c" and "d585a7c42100dbd8d3b30fb122cdda81c14fca1d" have entirely different histories.
c996ddc53c
...
d585a7c421
|
|
@ -42,8 +42,23 @@ public static class Responses
|
||||||
|
|
||||||
public static FileStreamHttpResult RespondXml<T>(this ControllerBase controller, T obj, string fileName = "Data.xml")
|
public static FileStreamHttpResult RespondXml<T>(this ControllerBase controller, T obj, string fileName = "Data.xml")
|
||||||
{
|
{
|
||||||
var stream = Utils.Xml.Serialize(obj);
|
var stream = new MemoryStream();
|
||||||
|
//use utf8 encoding
|
||||||
|
var serializer = new XmlSerializer(typeof(T));
|
||||||
|
var settings = new XmlWriterSettings
|
||||||
|
{
|
||||||
|
Indent = true,
|
||||||
|
Encoding = Encoding.UTF8,
|
||||||
|
};
|
||||||
|
|
||||||
|
//Console.Writeline(stream.Length);
|
||||||
|
|
||||||
|
using (var writer = XmlWriter.Create(stream, settings))
|
||||||
|
{
|
||||||
|
serializer.Serialize(writer, obj);
|
||||||
|
//Console.Writeline(stream.Length);
|
||||||
|
|
||||||
return RespondFileStream(controller, stream, "text/xml", fileName);
|
return RespondFileStream(controller, stream, "text/xml", fileName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
30
Utils/Xml.cs
30
Utils/Xml.cs
|
|
@ -1,30 +0,0 @@
|
||||||
|
|
||||||
using System.Text;
|
|
||||||
using System.Xml;
|
|
||||||
using System.Xml.Serialization;
|
|
||||||
|
|
||||||
namespace NejCommon.Utils;
|
|
||||||
|
|
||||||
public static class Xml{
|
|
||||||
public static Stream Serialize<T>(T obj){
|
|
||||||
var stream = new MemoryStream();
|
|
||||||
//use utf8 encoding
|
|
||||||
var serializer = new XmlSerializer(typeof(T));
|
|
||||||
var settings = new XmlWriterSettings
|
|
||||||
{
|
|
||||||
Indent = true,
|
|
||||||
Encoding = Encoding.UTF8,
|
|
||||||
};
|
|
||||||
|
|
||||||
//Console.Writeline(stream.Length);
|
|
||||||
|
|
||||||
using (var writer = XmlWriter.Create(stream, settings))
|
|
||||||
{
|
|
||||||
serializer.Serialize(writer, obj);
|
|
||||||
//Console.Writeline(stream.Length);
|
|
||||||
stream.Seek(0, SeekOrigin.Begin);
|
|
||||||
|
|
||||||
return stream;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Loading…
Reference in New Issue
Block a user