C# 序列化时修改数据

C# 序列化时修改数据,c#,xml-serialization,C#,Xml Serialization,我的应用程序中有文件和文件夹的层次结构。应用程序使用存储在FileNode.Items字符串列表中的绝对路径 当我必须保存我的项目时,我用XML序列化FileNode类。但是,我需要将绝对路径转换为相关路径(如果可能的话),然后序列化 因此,我的问题是:是否有任何解决方案可以动态执行(即,属性附近的任何标志对其执行任何操作),或者我需要在每次序列化之前和每次反序列化之后手动转换路径 非常感谢您的回答您可以在文件节点类上创建一个单独的属性,返回相对路径,并将[XmlIgnore]属性添加到原始属性

我的应用程序中有文件和文件夹的层次结构。应用程序使用存储在FileNode.Items字符串列表中的绝对路径

当我必须保存我的项目时,我用XML序列化FileNode类。但是,我需要将绝对路径转换为相关路径(如果可能的话),然后序列化

因此,我的问题是:是否有任何解决方案可以动态执行(即,属性附近的任何标志对其执行任何操作),或者我需要在每次序列化之前和每次反序列化之后手动转换路径


非常感谢您的回答

您可以在
文件节点
类上创建一个单独的属性,返回相对路径,并将
[XmlIgnore]
属性添加到原始属性中,以防止其被序列化


或者,您可以自己实现来控制序列化。

不,没有自动实现的方法

您可以实现
ISerializable
或获取XML序列化对象,并通过
XmlDocument