我正在研究一種「新語言」(不是這樣雄心勃勃的)XML定義,我想有選擇使用對象圖形víaxml(序列化/反序列化)和API在相同時間。另一個「保留參考」的XmlSerializer問題
<Project>
<Connections>
<Connection Name="MyConnName" ConnectionString="My connection string"\>
<\Connections>
<Tables>
<Table TableName="MyTable" ConnectionName="MyConnName"\>
<\Tables>
<\Project>
這裏有兩個問題:有類似
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.... */
}
好了,現在我想序列化/反序列化這個
類具有 「康恩」 屬性,是對Connection類的引用,但在「語言」(Xml序列化)中重命名爲「ConnectionName」(我想更改名稱以避免混淆純對象引用(Class)和語言「reference by name」(Xml se如你所見,我想保留引用,但不包括像DataContractSerializer那樣的「z.id ??」,當preserveObjectReference被設置爲true時,我想使用「names」(人類更加人性化)可讀)
任何想法?
Thx Jeffrey,但我錯過了一些東西,如果我添加一個ConnectionName屬性並嘗試找到適當的連接後,我將需要找到連接列表(類似parent.Connections,其中父母是我的Project類)但是,如何可以我用XmlSerializable獲得這個引用,當然我不想把它明確地放在xml中,這有可能嗎? – RURIA
你不能。解析完成後,您必須在第二遍中解析引用。 –