我从xml文件(本地)获取数据
我已经组织了我的模型,如下所示(这是其中的一部分)
[XmlRoot(ElementName="Availability")]
public class Availability
{
[XmlElement(ElementName = "Departure")]
public List<Departure> departure { get; set; }
}
//availability ends here
[XmlRoot(ElementName="CruiseProduct")]
public class CruiseProduct
{
[XmlElement(ElementName = "Availability")]
public Availability availability { get; set; }
}
这是我的控制器
XElement cElement = XElement.Load(Server.MapPath("~/XmlFiles/CruiseData/cruiseprodutstwo.xml"));
var getdataa = cElement.Elements("CruiseProduct");
ObservableCollection<CruiseProduct> ResultantCollection = new ObservableCollection<CruiseProduct>();
foreach(var itmz in getdataa)
{
ResultantCollection.Add(new CruiseProduct
{
});
}
如何向此添加数据?不知道。这是方式还是,有没有办法在不使用ObservableCollection的情况下DeserializeObject lik json?
答案 0 :(得分:0)
听起来想要从文件中反序列化xml。 以下代码可以帮助您入门。 How to: Read Object Data from an XML File (C# and Visual Basic)
假设您的XML有一些根节点:
[XmlRoot(ElementName="Root")]
public class Root
{
public IEnumerable<CruiseProduct> CruiseProducts{ get; set; }
}
XmlSerializer serializer = new XmlSerializer(typeof(Root));
using (StreamReader file = new System.IO.StreamReader(Server.MapPath("~/XmlFiles/CruiseData/cruiseprodutstwo.xml")))
{
var data = (Root)serializer.Deserialize(file);
var observablecruiseProducts = new ObservableCollection<CruiseProduct>(data.CruiseProducts);
}