如何将项添加到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?

如何将项添加到ObservableCollection,从xml文件返回

听起来像是想要从文件中反序列化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);
}