LINQ to XML действительно хорош в этом отношении - если вы предоставите ему итеративный фрагмент контента, он будет повторяться.Попробуйте это:
XDocument xmlDoc = new XDocument(
new XDeclaration("1.0", "utf-8", "yes"),
new XComment("Created: " + DateTime.Now.ToString()),
new XElement("Trip",
new XElement("TripDetails",
new XElement("Departure", txtDeparture.Text),
new XElement("Return", txtReturn.Text),
new XElement("Purpose", txtPurpose.Text),
new XElement("Region", ddlRegion.SelectedValue.ToString()),
new XElement("Countries",
lstCountry.SelectedValues
.Cast<string>()
.Select(x => new XElement("Country", x))
)
)
);
Обратите внимание, что я изменил SelectedValue
на SelectedValues
, чтобы получить несколько значений.Если это не то, что вам нужно, надеюсь, вы сможете изменить его соответствующим образом.