Compare commits
2 Commits
d585a7c421
...
c996ddc53c
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c996ddc53c | ||
|
|
336191ed3b |
|
|
@ -42,23 +42,8 @@ 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 = new MemoryStream();
|
var stream = Utils.Xml.Serialize(obj);
|
||||||
//use utf8 encoding
|
|
||||||
var serializer = new XmlSerializer(typeof(T));
|
|
||||||
var settings = new XmlWriterSettings
|
|
||||||
{
|
|
||||||
Indent = true,
|
|
||||||
Encoding = Encoding.UTF8,
|
|
||||||
};
|
|
||||||
|
|
||||||
//Console.Writeline(stream.Length);
|
return RespondFileStream(controller, stream, "text/xml", fileName);
|
||||||
|
|
||||||
using (var writer = XmlWriter.Create(stream, settings))
|
|
||||||
{
|
|
||||||
serializer.Serialize(writer, obj);
|
|
||||||
//Console.Writeline(stream.Length);
|
|
||||||
|
|
||||||
return RespondFileStream(controller, stream, "text/xml", fileName);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
30
Utils/Xml.cs
Normal file
30
Utils/Xml.cs
Normal file
|
|
@ -0,0 +1,30 @@
|
||||||
|
|
||||||
|
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