将对象序列化为 XElement 并在内存中反序列化

2024-01-22

我想将对象序列化为 XML,但不想将其保存在磁盘上。我想将它保存在 XElement 变量中(用于与 LINQ 一起使用),然后反序列化回我的对象​​。

我怎样才能做到这一点?


您可以使用这两个扩展方法在 XElement 和对象之间进行序列化和反序列化。

public static XElement ToXElement<T>(this object obj)
{
    using (var memoryStream = new MemoryStream())
    {
        using (TextWriter streamWriter = new StreamWriter(memoryStream))
        {
            var xmlSerializer = new XmlSerializer(typeof(T));
            xmlSerializer.Serialize(streamWriter, obj);
            return XElement.Parse(Encoding.ASCII.GetString(memoryStream.ToArray()));
        }
    }
}

public static T FromXElement<T>(this XElement xElement)
{
        var xmlSerializer = new XmlSerializer(typeof(T));
        return (T)xmlSerializer.Deserialize(xElement.CreateReader());
}

USAGE

XElement element = myClass.ToXElement<MyClass>();
var newMyClass = element.FromXElement<MyClass>();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将对象序列化为 XElement 并在内存中反序列化 的相关文章

  • 类型转换 sockaddr 结构

    我正在尝试学习网络编程 并在这个过程中学习C 我对结构感到困惑sockaddr这是一个通用地址 并且sockaddr in 我的书里是这么说的 因此 我们可以填写 sockaddr in 的字段 然后强制转换 a 指向 它指向 指向 soc
  • 将数据集导出到 EXCEL

    我使用以下代码将数据库表中的字段导出到 Excel 中 我想要做的是能够编写一条 SQL 语句从多个表中检索字段并将其导出到 Excel 中 这段代码只允许我导出一张表 另外 如何显示保存提示对话框 示例代码将不胜感激 非常感谢 prote
  • 加权 Voronoi 的 CGAL 2D APOLLONIUS 图 - 如何生成和获取面和顶点?

    我正在尝试根据阿波罗尼乌斯图生成加权沃罗诺伊 我正在使用 CGAL 库 我找不到如何从 apollonius 获取面和顶点的好例子 我有以下类型定义 typedef double NT typedef CGAL Cartesian lt N
  • 实体框架 - 循环更新属性

    我正在尝试找到一种方法来循环 EF 对象的属性并更新这些属性的值 更具体地说 我有 50 个字段 其中最多填充 50 个下拉列表 所有 50 个可能都需要填充 也可能不需要填充 为了解决这个问题 我有一个中继器 最多可以创建 50 个 DD
  • 无法使用 Unity 函数在 Visual Studio Code 中获得完整的 Intellisense

    好吧 我知道这个问题已经被问过并回答过很多次了 但我花了大约 3 天的时间试图解决这个问题 但到目前为止我所做的一切都没有奏效 我基本上在 Visual Studio Code 中有部分智能感知 也就是说 它似乎只识别 Unity 类和变量
  • 如何以编程方式确定 C 中 int 数据的最大和最小限制?

    我正在尝试 K R 的练习 2 1 练习内容如下 编写一个程序来确定范围char short int and long变量 两者signed and unsigned 通过从标准标题打印适当的值并通过直接计算 如果计算它们会更困难 确定各种
  • django REST框架多源领域

    假设我的 models py 中有这些 models py class Theme models Model An theme is an asset of multiple levels adventure models ForeignK
  • 为什么在 Linux 上字符串文字的内存地址与其他字符串文字的内存地址如此不同?

    我注意到字符串文字在内存中的地址与其他常量和变量 Linux 操作系统 非常不同 它们有许多前导零 未打印 Example const char h Hi int i 1 printf p n void h printf p n void
  • c#Registry to XML无效字符问题

    我在尝试从注册表创建 XML 文件时遇到问题 在我的笔记本电脑 W7 64b 上它工作正常 生成了 xml 文件 但在另一台计算机 Xp 32b 上抛出异常 System ArgumentException 十六进制值 0x00 是无效字符
  • popen2()在c中如何工作?

    我尝试使用管道 叉子和 dup 在我的程序中执行 md5sume 命令 我发现总和代码运行成功 但我无法理解某些代码行 这是我的代码 int infp outfp char buf 128 if popen2 md5sum infp out
  • C++ 克隆惯用语中协变返回类型的用处?

    通常的克隆习惯使用协变返回类型 struct Base virtual Base clone struct Derived public Base Derived clone 我读过一些内容 大意是协变返回类型是 C 后来添加的 较旧的编译
  • 平衡两轮机器人而不使其向前/向后漂移

    我正在尝试设计一个控制器来平衡 2 轮机器人 约 13 公斤 并使其能够抵抗外力 例如 如果有人踢它 它不应该掉落 也不应该无限期地向前 向后漂移 我对大多数控制技术 LQR 滑模控制 PID 等 都很有经验 但我在网上看到大多数人使用 L
  • Xamarin 无法从异步获取实例

    我编写了一个通过蓝牙连接到 ESP32 的 Xamarin Forms 应用程序 现在我想从 MainPage xaml 页面的 CustomControl JoystickControl 获取值 我已经这样尝试过了 MainPage xa
  • 发生错误。", ExceptionMessage: "提供的 'HttpContent' 实例无效

    尝试将文件添加到 http 休息调用时出现此错误 responseJson 消息 发生错误 ExceptionMessage 提供了无效的 HttpContent 实例 它确实 正在使用 多部分 参数名称 内容 异常类型 System Ar
  • 标准头文件中的 C 编译器错误 - 未定义的 C++ 定义

    我正在尝试编译 C 程序 但收到许多错误 这些错误是在标准 C 头文件 inttypes h stdio h stat h 等 中遇到的 错误的来源是以下未定义的常量 BEGIN DECLS END DECLS BEGIN NAMESPAC
  • 为什么 MISRA:2012 需要函数原型?

    我想知道为什么 MISRA 2012 需要函数原型 在下面的示例中 这两个原型并不是真正必要的 include
  • 为什么 OOP 中静态类的最佳实践有所不同?

    我目前正在阅读有关 Java 最佳实践的内容 我发现根据这本书 https rads stackoverflow com amzn click com 0321356683我们必须优先选择静态类而不是非静态类 我记得在 C 最佳实践中 我们
  • 为了清楚起见,是否应该在返回类型上使用无用的类型限定符?

    当我们的头文件中有原型时 我们的静态分析工具会抱怨 返回类型上有无用的类型限定符 例如 const int foo 我们这样定义它是因为该函数返回一个永远不会改变的常量 认为 API 看起来更清晰const到位 为了清楚起见 我觉得这类似于
  • 当另一个进程使用 std::fstream 写入文件时从文件读取[重复]

    这个问题在这里已经有答案了 我需要从文件中逐行读取 它是由 std getline 完成的 另一个进程的问题是一直向其附加数据 然后我需要读取新行 例如 文件一开始包含10行 我的程序读取了10行 那么我的程序应该等待 过了一会儿 另一个进
  • 如果未返回,则在一段时间后终止线程

    我有一个线程从网络或串行端口获取一些数据 如果 5 秒内没有收到数据 则线程必须终止 或返回 false 换句话说 如果线程运行时间超过 5 秒 则必须停止 我用 C 编写 但任何 NET 语言都可以 有两种方法 1 封装超时 从网络或串行

随机推荐

  • 一天地理编码服务调用次数过多

    我在使用 google 地图地理编码功能时收到此错误消息 据我所知 当我超过一天 2500 个请求的免费限制时 就会发生这种情况 不过 我已经设置了一个计费选项来为额外的请求支付额外费用 但我仍然收到此错误 当我设置账单时 它要求我创建一个
  • 共享服务中的私有主题与公共只读主题

    我已经开始开发一个 Angular 8 项目 其中两个兄弟组件必须交换数据 到目前为止 方法是在父服务中拥有一个 EventEmitter 然后 子组件调用这些发射器上的发射方法 将数据传递给其他同级组件 这是一个示例案例 共享服务 不好
  • Jekyll 帖子未生成

    我正在尝试向 Jekyll 网站添加新帖子 但运行时无法在生成的页面上看到它jekyll serve 无法生成 Jekyll 帖子的常见原因有哪些 该帖子未放置在 posts 目录 当您更改collections dir在你的配置中 默认
  • 我的 docker 容器有多少个 CPU?

    我正在编写一个并行运行的库 该库经常在 docker 容器中使用 我想启动与我的 docker 容器分配的核心一样多的线程 docker 是否将 CPU 限制设置为环境变量 例如 如果我的用户在创建容器时设置了两个 CPU docker r
  • 使用 Scala 新动态类型的动态代理

    是否可以使用 Scala 新的动态类型功能创建类似 AOP 的拦截器 例如 是否可以创建一个通用的秒表拦截器 可以与任意类型混合来分析我的代码 或者我仍然需要使用 AspectJ 吗 我相当确定Dynamic仅当您选择的对象尚不具有您选择的
  • 在 Sencha Touch 中禁用轮播过度滚动/过度拖动

    在 Sencha Touch 2 轮播的末尾或开头 用户可以将项目拖过它应该能够到达的位置并显示白色背景 此处的屏幕截图 https i stack imgur com i10Ak png https i stack imgur com i
  • 在 python 3 中解析 .docx

    我目前正在编写一个 python 3 程序 该程序可以解析某些 docx 文件并从中提取文本和图像 我一直在尝试使用docx https github com mikemaccana python docx但它不会导入到我的程序中 我已经安
  • 在 Android 版 Phonegap 中调用 SOAP Web 服务

    我想打电话SOAP网络服务在Phonegap Android 我已经尝试过这段代码但是在回复文字有未定义和Status Error
  • JPA (Hibernate) 列映射中的原始类和包装类有什么区别?

    例如 数据库表中有一个整数列 然后在java模型中 它可以映射为原始整数 and Integer 我的问题是在这种情况下 int 和 Integer 有什么区别 以及性能问题 谢谢 我倾向于避免使用原语 对于 Id 属性尤其如此 这使得可以
  • LiquibasegenerateChangeLog 失败:Java 堆空间

    当我尝试从 DB2 数据库生成 SQL 数据时 遇到 Java 堆空间问题 大约有 25 个表 大约 1000 条记录 我使用以下脚本生成变更集数据 C liquibase 3 0 2 bin gt liquibase driver com
  • 多个超级用户命令 Android

    我正在尝试运行这个 String hin1 su c mount o remount rw t yaffs2 dev block mtdblk3 system try Runtime getRuntime exec hin1 catch I
  • 在数据表中启用滚动 X 时禁用底部搜索

    我正在尝试数据表中的数据显示https datatables net https datatables net i can show data from MYSQL to Datatables but i want column in da
  • Spring Boot 1.4、Spock 和 application.properties

    我正在尝试使用 Spock 为我的 Spring Boot 1 4 0 编写一些测试 但我的 application test properties 文件没有被拾取 我的 gradle 中有这个 dependencies compile o
  • 验证类 - 应该返回 false 还是抛出异常?

    我正在创建一个验证字符串的类 字符串无法通过的原因有很多 抛出异常或返回错误 错误代码更有意义吗 优点缺点 验证器不应抛出异常 因为验证器失败并不是 异常 事件 如果代码的其余部分收到错误数据 则应抛出异常 当您运行验证器函数时 您显然已准
  • 无法加载资源,插件在 iOS 上处理加载

    每次我尝试在服务器上查看视频文件时 我都会在 iOS 的 Safari Chrome 上收到此错误 我使用的是 blob 服务器 然后是 Apache 服务器 所以我不确定问题是什么 但是 当我只使用 Apache 时 我确实收到此错误 但
  • 在 iOS 中使用 pinterest 登录

    里面有关于pin的解释面向开发者的 Pinterest https developers pinterest com ios 但我仍然有以下两个问题 如何登录 用户登录后如何从服务器获取登录用户的响应 我已经浏览了谷歌和堆栈溢出上提供的所有
  • 将未知的十六进制数字转换为经度和纬度

    F3 c8 42 14 latitude 05 13637 should be nearby this coordinate 5d a4 40 b2 longitude 100 47629 should be nearby this coo
  • 在 Java 中从 Pentaho .prpt 报告文件生成 PDF - 依赖关系混淆

    谁能帮助我开始在 Maven 环境中使用 java 从 Pentaho prpt 文件生成 PDF 我有 Pentaho Reporting 3 5 for Java Developers 一书 我正在尝试其中的一个示例 本质上是 Reso
  • 在 R 中拟合平滑样条线(GAM 函数):拟合样条线所需的结数出现错误 - 结点要求增加

    我正在尝试将平滑样条拟合到看起来有两个峰值的数据 首先 我将平滑样条拟合到数据中 以识别结的潜在位置 library npreg library splines library mgcv x lt c 20 70 20 44 20 58 2
  • 将对象序列化为 XElement 并在内存中反序列化

    我想将对象序列化为 XML 但不想将其保存在磁盘上 我想将它保存在 XElement 变量中 用于与 LINQ 一起使用 然后反序列化回我的对象 我怎样才能做到这一点 您可以使用这两个扩展方法在 XElement 和对象之间进行序列化和反序