/ / Linq към XML -Мога да го направя със списък, но не с списък <> - c #, linq, linq-to-xml

Linq към XML - мога да го направя със списък, но не със списък <> - c #, linq, linq-to-xml

Ето как създавам моя XML от списък

   new XElement("City", lstCities.Items
.Cast<ListItem>()
.Select(x => new XElement("TBL_Cities",
new XElement ("CityName",x.Text),
new XElement("TripID",TripID)))

Сега може би си, защото си близо до края нано аз не мога да разбера как да го направя с Списък <> Имам (Its List lstImages) Аз основно искам да напиша байт файл на xml, като градове (тъй като има 1-3 изображения в списъка)

Ето частта, която не работи

new XElement("TBL_Photo",lstImages
.Cast<byte>()
.Select(x => new XElement("TBL_Photo",
new XElement ("Photo",x),
new XElement("TripID",TripID))))

Отговори:

1 за отговор № 1

Доколкото мога да кажа, вашият код срещу List<byte> е най-вече вярна. Имате излишно обаждане .Cast (но няма да счупи нищо) Вашият основен проблем изглежда е твърде много затварящи скоби, освен ако няма повече код, който не ни показвате.

new XElement("TBL_Photo",
lstImages.Select(x => new XElement("TBL_Photo",
new XElement ("Photo",x),
new XElement("TripID",TripID)))

1 за отговор № 2

Това ще зависи от това как е дефинирано listImages, но ако приемем, че това е a List<List<byte>>, тогава просто

  new XElement("TBL_Photo",lstImages
//.Cast<byte>()  Not needed
.Select(x => new XElement("TBL_Photo",
new XElement ("Photo",x),
new XElement("TripID",TripID))))

Това предполага, че XElement позволява списък като параметър.

Нямате нужда от гласовете тук.Трябва само защото lstCities.Items е ListItemCollection, което не изпълнява IEnumerable<ListItem>.