我一直在使用 WCF 的 DataContract 和 DataContractSerializer 将对象读/写到 XML 文件。我们想切换到使用 Ruby on Rails 版本,我想知道我可以使用什么。我们有具有以下属性的对象(这些只是示例而不是确切的对象):
[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 文件中读取一组静态对象。