Files
QuickLook/QuickLook.Plugin/VersOne.Epub/Utils/XmlUtils.cs
2018-07-16 09:46:52 +02:00

29 lines
925 B
C#

using System.IO;
using System.Threading.Tasks;
using System.Xml;
using System.Xml.Linq;
namespace VersOne.Epub.Internal
{
internal static class XmlUtils
{
public static async Task<XDocument> LoadDocumentAsync(Stream stream)
{
using (MemoryStream memoryStream = new MemoryStream())
{
await stream.CopyToAsync(memoryStream).ConfigureAwait(false);
memoryStream.Position = 0;
XmlReaderSettings xmlReaderSettings = new XmlReaderSettings
{
DtdProcessing = DtdProcessing.Ignore,
Async = true
};
using (XmlReader xmlReader = XmlReader.Create(memoryStream, xmlReaderSettings))
{
return await Task.Run(() => XDocument.Load(memoryStream)).ConfigureAwait(false);
}
}
}
}
}