Ваша желаемая структура XML недействительна;вам нужен корневой элемент, чтобы добавить еще один узел "Alert".В следующем коде показано, как добавить его при наличии корневого узла:
var xdoc = XDocument.Parse(@"<root>
<Alert>
<Source>
<DetectTime>12:03:2010 12:22:21</DetectTime>
</Source>
</Alert>
</root>");
xdoc.Root.Add(new XElement("Alert"));
Console.WriteLine(xdoc);
Приведенный выше код создает <Alert />
, поскольку к нему не добавляются дочерние узлы (это изменится после добавления в него).Если вам нужен закрывающий тег, как вы показали, вы можете использовать xdoc.Root.Add(new XElement("Alert", String.Empty));
.
Чтобы убедиться, что ваш желаемый вывод имеет недопустимую структуру, вы можете попробовать его проанализировать, используя XDocument.Parse
, аналогично тому, что я показалвыше.