【发布时间】:2011-09-12 23:24:44
【问题描述】:
我正在研究一种“新语言”(不是那么雄心勃勃)XML 定义,我希望可以选择同时通过 xml(序列化/反序列化)和 API 使用对象图。
public class Project
{
public List<Connection> Connections { get; set; }
public List<Table> Tables { get; set; }
/* Constructors and more.... */
}
public class Connection
{
public string Name { get; set; }
public string ConnectionString { get; set; }
/* Constructors and more.... */
}
public class Table
{
public string TableName { get; set; }
public Connection Conn { get; set; }
/* Constructors and more.... */
}
好的,现在我想用类似的方式序列化/反序列化它:
<Project>
<Connections>
<Connection Name="MyConnName" ConnectionString="My connection string"\>
<\Connections>
<Tables>
<Table TableName="MyTable" ConnectionName="MyConnName"\>
<\Tables>
<\Project>
这里有两个问题:
该类有一个“Conn”属性,它是对一个 Connection 类的引用,但在“语言”(Xml 序列化)中被重命名为“ConnectionName”(我想更改名称以避免混淆纯对象引用(类)和语言“按名称引用”(Xml 序列化)
如您所见,我想保留参考,但不包括“z.id ??”就像 DataContractSerializer 在 preserveObjectReference 设置为 true 时所做的那样,我想使用“名称”(更易于人类阅读)
有什么想法吗?
【问题讨论】:
标签: xml serialization reference preserve