You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改C#中已反序列化XML的对象值并添加新数据?

C# 修改反序列化XML对象及添加新元素的方法

首先假设你的实体类结构如下(需与XML节点结构匹配,可能包含XML序列化特性):

public class Book
{
    public string Title { get; set; }
    public string Author { get; set; }
}

public class FileContent
{
    // 若XML中是<Books>包含多个<Book>节点,需对应标记特性,比如[XmlArray("Books"), XmlArrayItem("Book")]
    public List<Book> Books { get; set; } = new List<Book>();
}

修改现有书籍的标题

确保反序列化得到的FileContent对象及其书籍集合不为空,直接通过索引修改对应元素的属性:

// 假设已完成反序列化,得到fileContent实例
if (fileContent?.Books != null && fileContent.Books.Count > 0)
{
    // 修改第一本书的标题
    fileContent.Books[0].Title = "Billy Budd";
}

添加新书籍

实例化新的Book对象,设置属性后添加到集合中:

if (fileContent?.Books != null)
{
    var newWarAndPeace = new Book
    {
        Title = "War and Peace",
        Author = "Leo Tolstoy"
    };
    fileContent.Books.Add(newWarAndPeace);
}

序列化回XML(可选)

如果需要将修改后的对象写回原XML文件,执行以下序列化操作:

using (var streamWriter = new StreamWriter("Data.xml"))
{
    var xmlSerializer = new XmlSerializer(typeof(FileContent));
    xmlSerializer.Serialize(streamWriter, fileContent);
}

内容的提问来源于stack exchange,提问作者Pspl

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 04:49:53