所以我决定使用XDocument创建一个XML文件,这个文件很有效,直到我遇到一个我必须在ListBox中找到所有选定项目的部分。我不确定我应该如何格式化它。
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()),
//Not working
new XElement("Countries",
foreach(string x in lstCountry.SelectedValue)
{
new XElement("Country",x);
}
)
)
)
);
我想在国家
下的子节点中输出每个选定的国家/地区答案 0 :(得分:1)
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
以获取多个值。如果这不是您想要的,那么您应该能够相应地进行调整。