序列化多个对象

2023-12-25

我的序列化代码是这样的..

public class slab
{
    public int lowerlimit {get; set;}
    public int upperlimit { get; set; }
    public int percentage { get; set; }

}

public class Details
{
    static void Main(string[] args)
    {
        slab s= new slab();
        s.lowerlimit = 0;
        s.upperlimit = 200000;
        s.percentage = 0;
        XmlSerializer serializer = new XmlSerializer(s.GetType());
        StreamWriter writer = new StreamWriter(@"filepath");
        serializer.Serialize(writer.BaseStream, s);
    }
}

它工作正常,我得到的输出文件为:

<?xml version="1.0"?>
<slab xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <lowerlimit>0</lowerlimit>
    <upperlimit>200000</upperlimit>
    <percentage>0</percentage>
</slab>

但是如何序列化多个对象呢?我想得到一个输出文件

<slabs>
    <slab>
        <lowerlimit>0</lowerlimit>
        <upperlimit>200000</upperlimit>
        <percentage>0</percentage>
    </slab>
    <slab>
        <lowerlimit>200000</lowerlimit>
        <upperlimit>500000</upperlimit>
        <percentage>10</percentage>
    </slab>
    <slab>
        <lowerlimit>500000</lowerlimit>
        <upperlimit>1000000</upperlimit>
        <percentage>20</percentage>
    </slab>
    <slab>
        <lowerlimit>1000000</lowerlimit>
        <upperlimit>0</upperlimit>
        <percentage>30</percentage>
    </slab>
</slabs>

实际上,所需的输出格式不是有效的 XML,因为 XML 文件始终需要单个根元素。你可以把你的slabs 进入列表 (List<Slab> slabs = new List<Slab>();)并序列化它,但你可能会得到这样的输出:

<slabs>
    <slab>
    <lowerlimit>0</lowerlimit>
    <upperlimit>200000</upperlimit>
    <percentage>0</percentage>
    </slab>

    <slab>
    <lowerlimit>200000</lowerlimit>
    <upperlimit>500000</upperlimit>
    <percentage>10</percentage>
    </slab>

    <slab>
    <lowerlimit>500000</lowerlimit>
    <upperlimit>1000000</upperlimit>
    <percentage>20</percentage>
    </slab>

    <slab>
    <lowerlimit>1000000</lowerlimit>
    <upperlimit>0</upperlimit>
    <percentage>30</percentage>
    </slab>
</slabs>

EDIT
另一种序列化方式可能是这样的,告诉序列化器更多关于根元素的信息:

List<Slab> slabs = new List<Slab>();
slabs.Add(...);

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

序列化多个对象 的相关文章

  • C 中的变量定义是什么意思[重复]

    这个问题在这里已经有答案了 你们能告诉我 这在 C 中意味着什么吗 define Privileged Data Privileged Data static int dVariable 编译器对变量进行寻址有特殊意义吗 这只是一个宏Pri
  • MVC 重定向到没有控制器的视图

    希望应该是一个简单的 我创建了一个通用错误视图 当整个站点的操作方法内发生异常时 我想显示该视图 我创建了一个部分页面 所有导航都位于其中 因此我不需要在此视图上使用控制器 那么如何从控制器内的操作方法重定向到它 像这样的东西 HttpPo
  • 使用不带参数的 Split() 时,默认分隔符是什么?

    所以我看了看String Split 今天 C 中的方法 我意识到你也可以向它传递零参数 这是我从未考虑过的 使用时默认的分隔符是什么Split 没有任何参数 如果没有值 则为空白 来源自here https msdn microsoft
  • 在运行时设置 DataGridView 上的 DataFormatString?

    是否可以在运行时设置 ASP NET DataGridView 中的列或单元格的 DataFormatString 属性 这应该有效 BoundField priceField grid Columns 0 as BoundField pr
  • 如何使用汇编获取BIOS时间?

    我正在从头开始实现一个小型操作系统 用于教育目的 现在 我想使用汇编来获取 BIOS 时间 我对此进行了很多搜索 但找不到任何代码示例来执行此操作 如果有人可以提供任何参考或代码示例或与此相关的任何内容 我将非常感激 See 时钟中断 1a
  • .net Framework (.net 4.0) 中定义 Base 3 数字的类

    我正在寻找一些可以用来定义 3 基数 三进制数 的类 有什么我可以在 net 框架中使用的东西或者我需要写一些东西吗 谢谢你的帮助 您可以使用解析Convert ToInt32 s base http msdn microsoft com
  • 用 C# 制作 Vista 风格的应用程序

    我正在运行 Windows Vista 并且希望外观看起来像常规 Vista 程序 有没有关于如何构建 Vista 风格应用程序的真正好的教程 文章 我还想学习如何使用本机代码并将其转换为 C 如this http bartdesmet n
  • 导出到 CSV 时 Gridview 出现空行

    这个问题是由进一步讨论引发的这个问题 https stackoverflow com questions 6674555 export gridview data into csv file 6674589 noredirect 1 com
  • 如何使用泛型类型的 DataContractSerializer 编写自定义序列化器?

    我想编写一个自定义序列化器 用于将会话状态存储到Azure 缓存 预览版 这意味着这个自定义序列化器必须实现IDataCacheObjectSerializer 如果我错了 请告诉我 我需要编写这个自定义序列化程序的原因是我需要序列化一些包
  • 在“using”语句中使用各种类型 (C#)

    自从C usingstatements只是try finally dispose 的语法糖 为什么它接受多个对象仅当它们属于同一类型时 我不明白 因为它们需要的只是 IDisposable 如果它们都实现 IDisposable 应该没问题
  • 使用scanf()时如何区分整数和字符

    我只是使用该功能scanf 代码如下 scanf d a printf d a 当我输入1时 它会像我想要的那样打印1 但即使我输入 1a 它也会像以前一样打印 1 当用户输入非整数时 例如 2 3 12ab 1 a 我想向用户显示 输入整
  • c# 如何生成锦标赛括号 HTML 表

    所以我已经被这个问题困扰了三个星期 但我一生都无法弄清楚 我想做的是使用表格获得这种输出 演示 http www esl world net masters season6 hanover sc2 playoffs rankings htt
  • 数据损坏 C++ 和 Python 之间的管道

    我正在编写一些代码 从 Python 获取二进制数据 将其通过管道传输到 C 对数据进行一些处理 在本例中计算互信息度量 然后将结果通过管道传输回 Python 在测试时 我发现如果我发送的数据是一组尺寸小于 1500 X 1500 的 2
  • 如何在 C# 中使用 XmlDsigC14NTransform 类

    我正在尝试使用规范化 xml 节点System Security Cryptography Xml XMLDsigC14nTransformC net Framework 2 0 的类 该实例需要三种不同的输入类型 NodeList Str
  • 更改其他页面的主窗口内容

    在 WPF 应用程序的主窗口中 我有一个 Badged 元素 来自材料设计 这是我的代码
  • realloc():重新分配为 char * 上的 strcat 腾出空间时下一个大小无效 [重复]

    这个问题在这里已经有答案了 我在以下代码中收到无效内存错误 printf s n FINE 5 printf s LENGTH IS d n FINE 6 strlen buffer char realloc buffer strlen b
  • 微软语音识别速度

    我正在使用微软的语音识别器开发一个小型练习应用程序 对于我正在做的事情来说 我似乎无法让它足够快地识别单个单词 我希望能够正常说话 系统将从我所说的内容中抓取 关键字 并生成一个字符串 目前我正在使用 5 个单词的自定义语法 红 蓝 黄 绿
  • 在 SQL Server 上执行分页的最佳方式是什么?

    我有一个数据库超过200万记录 我需要执行分页以在我的 Web 应用程序上显示 该应用程序每页必须有 10 条记录DataGrid 我已经尝试使用ROW NUMBER 但是这种方式会选择所有 200 万条记录 然后只得到 10 条记录 我也
  • 正在获取“未终止 [] 设置”。 C# 中的错误

    我正在 C 中使用以下正则表达式 Regex find new Regex url
  • 程序退出后,TcpListener Socket 仍处于活动状态

    当我的程序退出时 我试图停止 TCP 侦听器 我不关心套接字或任何活动客户端套接字上当前活动的任何数据 套接字清理代码本质上是 try myServer Server Shutdown SocketShutdown Both catch E

随机推荐

  • 创建具有左/右侧的用户定义运算符

    我开始使用 pl sql 开发 Oracle 运算符 指南中有一些示例 但现在我坚持一些 在我见过的所有例子中 它总是这样的 CREATE OPERATOR Contains BINDING VARCHAR2 VARCHAR2 RETURN
  • 从 .NET 中的 app.config 或 web.config 读取设置

    我正在开发一个 C 类库 它需要能够从web config or app config文件 取决于 DLL 是从 ASP NET Web 应用程序还是 Windows 窗体应用程序引用 我发现 ConfigurationSettings A
  • 使用 VBA Excel 将范围内的单元格值增加 1

    我目前正在尝试实现插入新行值和自动复选框插入器 我目前将以下代码分布在不同的按钮上 因此分布在不同的子按钮上 我已将需要增加 1 个单元格的关键信息加粗 这将在单击 InsertNewBill 按钮后发生 Private Sub Inser
  • 错误:E0708:E0708:无效转换

    使用这个tutorial https blogs oracle com datawarehousing entry building simple workflows in oozie我为配置单元脚本创建了工作流程 但当我运行以下命令时出现
  • kotlin 中的全局对象声明

    如何在全局中声明对象kotlin就像在java中一样TextView tv 或者在不同方法 函数中调用相同变量的任何方法 override fun onCreate savedInstanceState Bundle super onCre
  • 如何设置即使在打瞌睡模式下也能工作的重复闹钟?

    我知道 setExactAndAllowWhileIdle 即使在 Doze 模式下也会调用警报 但如何让它每天重复 因为没有 setRepeatingAndAllowWhileIdle 类型的方法 None
  • Web API 2 项目和 MVC 5 网站项目在同一域中

    使用的技术 BreezeJS OData 网络应用程序接口2 MVC 5 集成开发环境 Visual Studio 2013 我一直在考虑在一个解决方案中拥有一个 Web API 项目和一个单独的网站项目的想法 我的 Web API 2 项
  • Java 8 Base64 JWT 令牌转换为 JSON

    因此 我在网上和 StackOverflow 上对此进行了一些研究 并且尝试了许多我发现的建议 问题是我正在登录我们的一项运行良好的 Oauth2 服务 我获得了 Oath2 JWT 令牌 我知道这是 Base64 编码的 我可以将令牌放入
  • 有没有办法在 mongoDB 中将 $exists 与 $expr 一起使用?

    我是 mongoDB 的新手 我需要在 mongoDB 中将 exists 与 expr 一起使用 我尝试了以下操作 lookup as collectionDet from collection let userId userId pip
  • 如何在 nextflow 工作流程中正确格式化“pod.securityContext”指令?

    我正在尝试配置podNextflow 流程中的指令 文档在这里 https www nextflow io docs latest process html process pod 我正在尝试遵循解决方案在这个SO问题中提供 https s
  • 如何在Powerpoint 2007 VBA中检测主题字体?

    有谁知道如何使用 VBA 检测 Powerpoint 2007 幻灯片对象中主题字体的使用 如果有人看Shape TextFrame TextRange Font Name字体名称显示为简单名称 例如 Arial 无论字体是否指定为固定名称
  • 在地址栏中隐藏查询参数 - VueJS

    我正在使用 Vue js 2 我正在尝试创建一个链接 将我发送到另一个页面 这就是我所拥有的 div div
  • 可以在亚马逊s3上存储json吗?

    我想将 json 文件存储到我的亚马逊 s3 然后使用 ajax 请求检索它 不幸的是 s3 似乎不允许内容类型 application json 我应该将文件保存为文本 纯文本 然后使用 php 添加标头 我已经找到问题了 我以错误的方式
  • 让 NSTimeZone 在单元测试中无故障

    因此 在 Objective C 中对日历代码进行单元测试时存在以下问题 时区包含有关夏令时的信息 因此您在夏天编写一个测试 预计 6 月 10 日的日出发生在早上 6 02 您的测试通过了 稍后 您在非 DST 时运行测试并且失败 因为当
  • Python 删除链表中的重复项

    我正在运行下面的代码以从链接列表中删除重复项 但我的代码仅在删除重复项之前打印链接列表 一旦调用removeDup方法 它就不会打印任何内容 下面是我的代码 请告诉我我错过了什么 class Node def init self data
  • 如何在 Chrome 开发工具中查找事件监听器?

    我知道将鼠标悬停在一个元素上会导致另一个元素添加一个新类 如何检查此 eventListener 在 Chrome 上的位置和内容 这Event ListenersChrome 中的选项卡仅列出文档上的一些侦听器 而不是任何特定元素 要查看
  • FXML 中的 JavaScript 脚本

    我正在尝试从 FXML 运行以下示例参考 https docs oracle com javase 8 javafx api javafx fxml doc files introduction to fxml html script bl
  • 生成随机字符串[重复]

    这个问题在这里已经有答案了 可能的重复 时间 2019 03 17 标签 c randomstringgenerator https stackoverflow com questions 1122483 c sharp random st
  • 使用 externalTrafficPolicy: Local 在 GKE 上是否可以实现无中断滚动更新?

    我有一个 GKE 集群 1 12 10 gke 17 我正在运行nginx 入口控制器 https github com kubernetes ingress nginx with type LoadBalancer 我已经设置了exter
  • 序列化多个对象

    我的序列化代码是这样的 public class slab public int lowerlimit get set public int upperlimit get set public int percentage get set