如何将项添加到ObservableCollection,从xml文件返回
本文关键字:xml 文件 返回 ObservableCollection 添加 | 更新日期: 2023-09-27 18:25:51
我正在从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
{
});
}
如何向其中添加数据?不知道。这是一种方法吗?或者,有没有一种方法可以在没有usinObservableCollection的情况下反序列化Object lik json?
听起来像是想要从文件中反序列化xml。下面的代码应该会让你开始。如何:从XML文件(C#和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);
}