gpt4 book ai didi

c# - 在c#中将对象列表导出到xml文件

转载 作者:太空宇宙 更新时间:2023-11-03 10:48:14 25 4
gpt4 key购买 nike

我尝试将对象列表(“医生”类型)导出到 c# 中的 xml 文件。它编译并运行,但我得到的文件不正确。有人可以告诉我我做错了什么吗?


代码是:

  public static void exportAsXml(string fileName, List<Entity> ListOfEntity)
{
FileInfo file = new FileInfo(fileName + ".xml");
StreamWriter sw = file.AppendText();
System.Xml.Serialization.XmlSerializer writer = new System.Xml.Serialization.XmlSerializer(typeof(Doctor));
foreach (Entity e in ListOfEntity)
{
writer.Serialize(sw,e as Doctor);
}
sw.Close();
}

xml 文件是:

<?xml version="1.0" encoding="utf-8"?>
<Doctor xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<ID>87587579</ID>
<FirstName>Dan</FirstName>
<LastName>Adi</LastName>
<Gender>male</Gender>
<Salary>15000</Salary>
</Doctor><?xml version="1.0" encoding="utf-8"?>
<Doctor xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<ID>302342246</ID>
<FirstName>Lital</FirstName>
<LastName>Gal</LastName>
<Gender>female</Gender>
<Salary>25600</Salary>
</Doctor><?xml version="1.0" encoding="utf-8"?>
<Doctor xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<ID>205992457</ID>
<FirstName>Yaron</FirstName>
<LastName>Mor</LastName>
<Gender>male</Gender>
<Salary>10000</Salary>
</Doctor>

谢谢!

最佳答案

首先,生成的 xml 违反了 2 个核心规则。

  1. Xml文件应该只有一个<?xml version="1.0" encoding="utf-8">声明
  2. 所有的 xml 都应该包含在一个根文件中。

换句话说,在循环中,您为每个项目生成一个单独的、完整的 xml 文件。

试试这个

var writer = new System.Xml.Serialization.XmlSerializer(typeof(List<Doctor>));
writer.Serialize(sw, ListOfEntity);

关于c# - 在c#中将对象列表导出到xml文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22598587/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com