public XmlDocument GenerateForGenerateSolution(string platform, IEnumerable<XmlElement> projectElements)
{
var doc = new XmlDocument();
doc.AppendChild(doc.CreateXmlDeclaration("1.0", "UTF-8", null));
var input = doc.CreateElement("Input");
doc.AppendChild(input);
var generation = doc.CreateElement("Generation");
var platformName = doc.CreateElement("Platform");
platformName.AppendChild(doc.CreateTextNode(platform));
var hostPlatformName = doc.CreateElement("HostPlatform");
hostPlatformName.AppendChild(doc.CreateTextNode(_hostPlatformDetector.DetectPlatform()));
generation.AppendChild(platformName);
generation.AppendChild(hostPlatformName);
input.AppendChild(generation);
var featuresNode = doc.CreateElement("Features");
foreach (var feature in _featureManager.GetAllEnabledFeatures())
{
var featureNode = doc.CreateElement(feature.ToString());
featureNode.AppendChild(doc.CreateTextNode("True"));
featuresNode.AppendChild(featureNode);
}
input.AppendChild(featuresNode);
var projects = doc.CreateElement("Projects");
input.AppendChild(projects);
foreach (var projectElem in projectElements)
{
projects.AppendChild(doc.ImportNode(projectElem, true));
}
return doc;
}