首页 > 解决方案 > 序列化 XmlElement 太慢

问题描述

XmlSerializerXmlElement序列化包括大约 9 MB 的字节数组时会减慢速度。如何在不删除的情况下修复它XmlElement

   static void SerializeByteArrayToXml(string filePath)
   {
        var array = File.ReadAllBytes(filePath);
        var xmlElement = array.SerializeToXmlElement();
        var serializedString = xmlElement.AsXMLString();
   }

    internal static XmlElement SerializeToXmlElement<T>(this T o)
    {
        XmlDocument doc = new XmlDocument();

        using (XmlWriter writer = doc.CreateNavigator().AppendChild())
        {
            new XmlSerializer(o.GetType()).Serialize(writer, o);
        }
        return doc.DocumentElement;
    }
    internal static string AsXMLString<T>(this T toSerialize)
    {
        XmlSerializer xmlSerializer = new XmlSerializer(toSerialize.GetType());
        StringWriter textWriter = new StringWriter();

        //This method too slow
        xmlSerializer.Serialize(textWriter, toSerialize);
        return textWriter.ToString();
    }

标签: c#xml-serialization

解决方案


推荐阅读