Я могу использовать XDocument для создания следующего файла, который отлично работает:
XDocument xdoc = new XDocument
(
new XDeclaration("1.0", "utf-8", null),
new XElement(_pluralCamelNotation,
new XElement(_singularCamelNotation,
new XElement("id", "1"),
new XElement("whenCreated", "2008-12-31")
),
new XElement(_singularCamelNotation,
new XElement("id", "2"),
new XElement("whenCreated", "2008-12-31")
)
)
);
Однако, мне нужно создать XML файл с помощью итерации через коллекцию следующим образом:
XDocument xdoc = new XDocument
(
new XDeclaration("1.0", "utf-8", null));
foreach (DataType dataType in _dataTypes)
{
XElement xelement = new XElement(_pluralCamelNotation,
new XElement(_singularCamelNotation,
new XElement("id", "1"),
new XElement("whenCreated", "2008-12-31")
));
xdoc.AddInterally(xelement); //PSEUDO-CODE
}
Добавить, AddFirst, AddAfterSelf, AddBeforeSelf, но я не мог заставить их работать в данном контексте.
Является ли итерация с LINQ таким, как это возможно?
Ответ:
Я взял предложение кода Jimmy с корневым тегом, немного изменил его, и это было именно то, что я искал:
var xdoc = new XDocument(
new XDeclaration("1.0", "utf-8", null),
new XElement(_pluralCamelNotation,
_dataTypes.Select(datatype => new XElement(_singularCamelNotation,
new XElement("id", "1"),
new XElement("whenCreated", "2008-12-31")
))
)
);
Марк Гравелл опубликовал лучший ответ на этот qaru.site/info/361521/....