枚举的 XML 序列化

2023-11-26

我在序列化枚举值时遇到问题。

这是代码:

[System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)]
public class REQUEST
{
    [System.Xml.Serialization.XmlAttributeAttribute()]
    public string ID;

    [System.Xml.Serialization.XmlAttributeAttribute()]
    public REQUESTTypetype Type;
}

public enum REQUESTTypetype
{
    One,
    Two,
    Three,
    Four,
}

...

REQUEST request = new REQUEST();
request.ID = "1234";
request.Type = REQUESTTypetype.One;

XmlDocument doc = new XmlDocument();
MemoryStream ms = new MemoryStream();
StreamWriter sw = new StreamWriter(ms);
XmlSerializer xs = new XmlSerializer(typeof(REQUEST));
xs.Serialize(sw, request_group);
ms.Position = 0;
doc.Load(ms);
TestWriteXml(doc, @"C:\xml_test.xml");

结果是:

<?xml version="1.0" encoding="utf-8" ?> 
<REQUEST ID="1234" />

为什么枚举没有序列化?我使用.NET Framework 2.0。

谢谢。


我发现出了什么问题。对于每个枚举类型

[System.Xml.Serialization.XmlAttributeAttribute()]
public REQUESTTypetype Type;

我懂了:

[System.Xml.Serialization.XmlIgnoreAttribute()]
public bool TypeSpecified;

在代码中我应该这样做:

request.Type = REQUESTTypetype.One;
request.TypeSpecified = true;

现在效果很好。我应该将它们发布在我的问题中,但我根本没有注意这些“指定”成员。 感谢您的回复。

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

枚举的 XML 序列化 的相关文章

  • C# AES Rijndael - 检测无效密码

    我正在使用 Rijndael 加密程序中的一些敏感数据 当用户输入错误的密码时 大多数情况下CryptographicException抛出消息 填充无效且无法删除 然而 CryptStream 不会抛出密码错误的异常 而是返回错误解密的流
  • 如何在C编程中获取当前时间(以毫秒为单位)[重复]

    这个问题在这里已经有答案了 可能的重复 如何使用 ANSI C 测量以毫秒为单位的时间 https stackoverflow com questions 361363 how to measure time in milliseconds
  • 使用 QTextCursor 选择一段文本

    使用 Qt 框架选择文本片段时遇到问题 例如 如果我有这个文件 没有时间休息 我想选择 ime for r 并从文档中删除这段文本 我应该如何使用 QTextCursor 来做到这一点 这是我的代码 QTextCursor cursor n
  • 对相当大的整数的大集合的操作的快速实现

    描述 我实现了以下类 LabSetInt64 参见下面的代码 这里的目标是尽可能快地操作大量大整数 最多 10M 的值 我的主要要求集中在 至关重要 尽快获取集合的大小 基数 重要 能够非常快速地迭代一组集合 所以 从下面的实现开始 我还有
  • 优化对绑定到 DataGridView 的 DataTable 的更新

    我的应用程序中有一个显示一些数据的表单 当我第一次显示表单时 我将一些数据加载到 DataTable 中 然后将 DataTable 绑定到 DataGridView 我还启动了一个异步方法来执行一些较慢的数据库查询 当这些慢查询完成时 我
  • 在 DefaultHttpContext 上使用 FeatureCollection 时,响应对象为 null

    我正在测试一些 net Core 中间件 并希望使用整个 asp net Core http 管道来运行中间件 而不是模拟它 问题是 当我使用特征集合时 不知何故 响应对象没有在 httpRequest 中设置 并且它在请求本身上是只读的
  • 没有真正理解 std::atomic::compare_exchange_weak 和compare_exchange_strong 的逻辑

    我读了https en cppreference com w cpp atomic atomic compare exchange https en cppreference com w cpp atomic atomic compare
  • 让 GCC/Clang 使用 CMOV

    我有一个简单的标记值联合 这些值可以是int64 ts or doubles 我正在对这些联合进行加法 但需要注意的是 如果两个参数都代表int64 t值 那么结果也应该有一个int64 t value 这是代码 include
  • 适用于 Windows 的键值数据库?

    除了 MongoDB 和 Memcached 之外 Windows 上还运行哪些键值存储 我见过的大多数似乎只能在 Linux 上运行 Hypertable Redis Lightcloud 相关链接 是否有经过商业验证的云存储 Key g
  • 锁定文件的一个块

    我有一个大小为 192k 的文件 我想锁定文件的中间部分 例如 我想用 c 锁定文件的 64k 128k 知道如何锁定文件的那部分吗 你需要使用锁定文件Ex http msdn microsoft com en us library win
  • 一个对大文件有效的轻量级 XML 解析器?

    我需要解析潜在的巨大 XML 文件 所以我猜这排除了 DOM 解析器 是否有任何优秀的 C 轻量级 SAX 解析器 在占用空间上可与 TinyXML 相媲美 XML的结构非常简单 不需要诸如命名空间和DTD之类的高级东西 只是元素 属性和
  • MPI_Gatherv:根数组中收到的垃圾值

    我正在尝试实施MPI Gatherv函数于C 根据我的程序 包括 root 在内的每个进程都应该创建一个大小等于 进程的等级 1 这将在所有单元格中保持进程的等级 然后这个本地数组被收集到根的 rcv array 中 不知何故 我得到了垃圾
  • Global.asax 错误处理程序或自定义 IHttpModule 错误处理程序未捕获未处理的异常

    我有一个类 DPCal EventMove 的一种方法 我想限制使用角色的访问 我有一个 Global asax cs 错误处理程序和一个自定义 IHttpModule 错误处理程序 旨在捕获未处理的异常 并将它们 Server Trans
  • 如何从句柄确定进程是 32 位还是 64 位?

    如何从使用 OpenProcess 获取的进程句柄中获取信息 无论进程是 32 位还是 64 位 是的 IsWow64Process 毫无用处 令人烦恼 它的真正意思是 启用了 32 位模拟 如果您在 32 位操作系统上运行 则返回 fal
  • 派生类的聚合初始化

    以下代码无法使用 Visual Studio2017 或在线 GDB 进行编译 我期望它能够编译 因为迭代器只是一个具有类型的类 并且它是从公共继承的 这是不允许的还是在 VS2017 中不起作用 template
  • 将函数作为函数参数传递

    Unity C 似乎无法识别Func lt gt 作为函数委托的符号 那么 如何将函数作为函数参数传递呢 我有一个想法Invoke functionName 0 可能有帮助 但我不确定它是否实际上立即调用该函数 或者等待帧结束 还有别的办法
  • 使用std::begin()、std::end()将ArrayXd转换为stl向量,

    在我看来我应该能够使用std begin and std end 转换ArrayXd to std vector
  • RabbitMQ + Windows + LDAP 无需发送密码

    我正在尝试在 Windows 7 上使用 RabbitMQ 3 6 2 进行 LDAP 身份验证 授权 我已经在应用程序发送用户名 密码的情况下进行了基本身份验证 但密码位于我需要弄清楚如何进行的代码中避免 有没有人在不提供密码的情况下成功
  • 为什么 32 位 .NET 进程的引用类型的最小大小为 12 字节

    我正在读专业 Net 性能 https rads stackoverflow com amzn click com 1430244585本书有关参考类型内部结构的部分 它提到 对于 32 位 net 进程 引用类型具有 4 字节的对象头和
  • “保留供任何使用”是什么意思?

    注意 这是一个c questions tagged c问题 虽然我补充说c questions tagged c 2b 2b如果某些 C 专家可以提供 C 使用与 C 不同的措辞的基本原理或历史原因 在 C 标准库规范中 我们有这个规范文本

随机推荐

  • 从 Linq 查询调用方法

    我正在使用 Linq 查询和调用方法 Like oPwd objDecryptor DecryptIt c Password ToString 它将返回空值 意味着这不会起作用 我如何解决这个问题 Thanks var q from s i
  • 过滤以特定关键字开头的字符串列表

    我怎样才能找到一个字符串 PartialWord 在列表 WordList 在 Python 2 7 中 PartialWord ab WordList absail rehab dolphin 使用通配符进行搜索 例如 ab 如果它以这些
  • Android TextView 对齐文本

    如何获取 a 的文本TextView是否合理 文本在左侧和右侧齐平 我找到了一个可能的解决方案here 但它不起作用 即使您将vertical center更改为center vertical等 我不相信 Android 支持完全合理 更新
  • MS Access 错误“ODBC——调用失败。转换规范的字符值无效 (#0)”

    有谁知道这个错误意味着什么或如何解决它 我使用的是 Access 2003 和 SQL2005 当尝试在特定子表单上添加记录时会出现它 Microsoft SQL Native Client 转换规范的字符值无效 0 此 MS 错误报告描述
  • 从另一个应用程序以编程方式打开 iOS 设置应用程序中的键盘设置屏幕

    我们如何以编程方式直接进入 iOS 设置应用程序的以下任何屏幕 UPDATE 正如其他用户指出的那样 此解决方案不再适用于 iOS10 如果有人知道如何使其在 iOS10 中运行 请告诉我们 iOS 要打开 您自己的应用程序的 设置 您可以
  • 运行 mocha 测试时 Babel 意外导入令牌

    其他相关问题中提供的解决方案 例如在 babelrc 中包含适当的预设 es2015 已在我的项目中实现 我有两个项目 我们称它们为 A 和 B 它们都使用 ES6 模块语法 在项目 A 中 我导入项目 B 该项目通过 npm 安装并位于
  • SQLite 与使用数字的表名有关的问题?

    我正在开发一个应用程序 它要求用户选择这样格式的年份1992 1993来自旋转器 表名也被命名为1992 1993这个想法是使用 SQL 通过这样的语句提取该表中的值选择 1992 1993 但是 当我运行模拟器时 它会抛出错误 如果我随后
  • 使用 Zend Framework 和 PHP 发送电子邮件

    我正在制作一个表单 当用户输入他们的电子邮件帐户并单击发送时 一封电子邮件将发送到他们的电子邮件帐户 我已经把一切都解决了 只是它不会将电子邮件发送到我的帐户 有人有主意吗 是否有我遗漏的配置或其他什么 这是我的控制器的示例 public
  • 覆盖 json.Marshal 使用的布局来格式化 time.Time

    在Golang中 有没有办法使通用encoding jsonMarshal 在编组时使用不同的布局time Time fields 基本上我有这个结构 s starttime time Now name ali 我想使用编码为 jsonen
  • 如何从 Windows 窗体连接到 MySQL?

    如何从 Windows 窗体连接到 MySQL 数据库 这里有大量连接字符串示例 http www connectionstrings com
  • GetProperties() 返回接口继承层次结构的所有属性

    假设以下假设的继承层次结构 public interface IA int ID get set public interface IB IA string Name get set 使用反射并进行以下调用 typeof IB GetPro
  • 如何将资源嵌入到 .NET PE 可执行文件中?

    如何在 Visual Studio 2010 的 NET PE 可移植可执行文件 中包含资源 In the 旧时光我们将创建一个资源脚本文件 wumpa rc jqueryjs RCDATA jquery js SplashLogo PNG
  • 主脑极小极大算法

    我正在尝试在 python 中实现 Donald Knuth 的密码破解算法 只需不超过 5 步 我已经多次检查了我的代码 它似乎遵循算法 如下所示 http en wikipedia org wiki Mastermind board g
  • GroupBy pandas DataFrame 并选择最常见的值

    我有一个包含三个字符串列的数据框 我知道第三列中唯一的一个值对于前两个值的每种组合都有效 为了清理数据 我必须按前两列对数据框进行分组 并为每个组合选择第三列的最常见值 My code import pandas as pd from sc
  • 使用 MySQL 将二进制转换为十进制

    我正在尝试在 MySQL 中构建一个查询 该查询连接一堆二进制字段 然后给出 DECIMAL 形式的结果 e g SELECT CONCAT setting1 setting2 setting3 AS settings 可能给了我 101
  • 为什么 onAppear() 当放置在 swiftUI 中的 NavigationView 内的元素上时会执行两次? (Xcode 12.0)

    FirstView Appeared被打印两次 当视图首次加载时一次 当选择 NavigationLink 时再次一次 import SwiftUI struct FirstView View var body some View Navi
  • Javascript .Replace 替代方案

    我正在为 eBay 编写一个模板 但是 eBay 不允许 replace 下面的代码用于翻转选项卡部分 当用户将鼠标悬停在选项卡 a 上时 相应的 div div a 变得可见 有没有一种解决方法可以让代码在不使用 replace 的情况下
  • 这个 O(N*k) 排序算法是什么?

    当工作 BrainF 最快的排序 我发现了这个算法 它是O N k 其中k是输入中的最大值 它需要 O N 额外的存储空间 物理上的类比是你有 N 堆令牌 栈的高度代表要排序的值 每个标记代表一个位 为另外 N 堆留出空间 您从每个有令牌的
  • 使用 R 从 XTS 对象中提取该月第一个工作日的回报

    我对 R 非常陌生 所以如果我在解释这个问题时出现任何术语错误 我深表歉意 我在 csv 文件中有一组每日退货数据 我已设法将其转换为 xts 对象 数据格式为 HighYield EUR MSCI World EUR 2002 01 31
  • 枚举的 XML 序列化

    我在序列化枚举值时遇到问题 这是代码 System Xml Serialization XmlRootAttribute Namespace IsNullable false public class REQUEST System Xml