c# - 序列化 XmlElement 太慢
问题描述
XmlSerializer
XmlElement
序列化包括大约 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();
}
解决方案
推荐阅读
- delphi - 将 IHTMLDocument2 实例分配给 TWebBrowser 实例
- html - Safari 15.0 视频元素位置固定在页面加载时不起作用
- performance - QML 为大量矩形设置动画时性能缓慢
- node.js - /node_modules/angular2-moment/add.pipe.d.ts 中声明的符号 AddPipe 中的错误未从 angular2-moment/moment.module 导出
- amazon-web-services - 我可以阻止 DynamoDB 全局表的副本同步吗?
- c++ - 用于 C++ 编译的 Visual Studio Code 配置
- azure - Azure ML 发布错误 AZUREML_COMPUTE_USE COMMON_RUNTIME
- node.js - 在 AWS lambda 中对 cognito 用户进行身份验证不会调用 authenticateUser() 并继续跳过它
- python - 使用 selenium python 处理网站错误
- java - 如何使用 Mockito 模拟记录