gpt4 book ai didi

c# - 在 XmlSerializer 上使用反序列化时始终为空

转载 作者:太空宇宙 更新时间:2023-11-03 20:24:57 24 4
gpt4 key购买 nike

我想反序列化一些如下所示的 XML:

XML:

     <bookings>
<booking>
<timeStart>2012/7/2 11:00:00</timeStart>
<timeEnd>2012/7/2 12:00:00</timeEnd>
</booking>
<booking>
<timeStart>2012/7/10 08:30:00</timeStart>
<timeEnd>2012/7/10 10:30:00</timeEnd>
</booking>
</bookings>

我的代码:

       var calUrlStr = "http://xxx.com?action=xxxxxx?x=1&y=2";

HttpWebRequest webRequest = GetWebRequest(calUrlStr);
HttpWebResponse response = (HttpWebResponse)webRequest.GetResponse();

XmlRootAttribute xRoot = new XmlRootAttribute();
xRoot.ElementName = "bookings";
xRoot.IsNullable = true;

XmlSerializer xmlSerializer = new XmlSerializer(typeof(MyDomain.GCalBooking.GCalBookings), xRoot);

Stream theStream = response.GetResponseStream();
StreamReader reader = new StreamReader(theStream);

MyDomain.GCalBooking.GCalBookings rateResponse = (MyDomain.GCalBooking.GCalBookings)xmlSerializer.Deserialize(reader);

我的类(class):

namespace MyDomain.GCalBooking
{
public class GCalBookings
{

public virtual List<Booking> Bookings { get; set; }


}

public class Booking
{

public string timeStart { get; set; }
public string timeEnd { get; set; }

}
}

最佳答案

XmlElementAttribtue 添加到您的类中:

public class GCalBookings
{
[XmlElement("booking")]
public virtual List<Booking> Bookings { get; set; }
}

旁注:为了帮助调试此类内容,请尝试填充您的类,将其序列化,然后查看 XML 的结构。然后您可以调整您的类,直到生成的 XML 看起来像您想要反序列化的内容。

关于c# - 在 XmlSerializer 上使用反序列化时始终为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11122870/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com