我正在用C#更新用于制作RSS提要的XML创建类。 它包含以下代码:
private void BindUpcomingEvents(IQueryable<Event> eventList, FilterParams filterParams)
{
var pref = MarylandCalendar.Model.Helpers.Preferences.Preferences.Get();
var events = eventList.ToList();
.
.
.
// items
foreach (var item in events)
{
xfeed.WriteElementString("chair", item.chair);
.
.
.
//xfeed.WriteElementString("person_id", String.Format("{0}", item.PersonId);
//xfeed.WriteElementString("person_id", ((int)item.PersonId).ToString());
//xfeed.WriteElementString("person_id", item.PersonId.ToString());
//xfeed.WriteElementString("person_id", Convert.ToInt16(item.PersonId).ToString());
.
.
.
}
.
.
.
}
数据库 nvarchar 字段,例如&#34; chair&#34; (见上文)在XML语句中写出没有问题。但我似乎无法编写包含 int 字段(如PersonId)的语句。您可以根据Stackoverflow上的其他帖子以及互联网上的其他位置查看我的尝试(已注释掉)。如果我注释掉所有提取 int 字段的WriteElementString行,则RSS源按预期工作。但除此之外,它失败了。
任何线索?
答案 0 :(得分:0)
如果PersonId
可以为空,则需要先检查null:
xfeed.WriteElementString("person_id", item.PersonId.HasValue
? item.PersonId.Value.ToString()
: "null") // or 0, or blank, or something