我一直在使用WCF的DataContract和DataContractSerializer將對象讀取/寫入XML文件。我們希望切換到使用Ruby on Rails版本,並且我想知道我可以使用什麼。我們必須有像屬性的對象(這些只是例子沒有確切的對象):是否存在與.NET DataContract序列化程序相當的Ruby
[DataContract]
public class City
{
[DataMember]
public string Name { get; set; }
[DataMember]
public string Location { get; set; }
}
[DataContract]
public class Person
{
[DataMember]
public string Name { get; set; }
[DataMember]
public City Home {get; set; }
// returns true if the city is near me
public bool NearMe(City myCity) { // insert code to compare cities }
}
和代碼中的對象讀的是:
DataContractSerializer ds = new DataContractSerializer(typeof(Person));
using (Stream s = File.OpenRead("person1.xml"))
{
Person p = (Person) ds.ReadObject(s);
}
什麼是做的相當的格式在Ruby/Rails中也是這樣嗎?我如何定義對象?我從XML文件中讀取哪些方法?我已經看到,我可以嘗試將所有內容定義爲模型,然後爲每個對象創建後端數據庫。有沒有辦法做到這一點,而不需要創建所有的數據庫表,因爲我們不需要爲這個應用程序使用數據庫,而只是從XML文件中讀取一組靜態的對象。
是否XML模式必須匹配WCF之一? – jonnii 2010-03-01 19:00:52
是的,匹配WCF模式非常有用,因爲我們可以直接替換服務,客戶端不會知道其中的差別。 – christophercotton 2010-03-02 15:38:07