Как изменить содержимое элемента XElement?
есть ли простой способ изменить InnerXml элемента XElement? предположим, у нас есть этот чрезвычайно простой xml
<planets>
<earth></earth>
<mercurio></mercurio>
</planets>
и мы хотим добавить некоторые xml, которые приходят из другого источника, который приходит как строка"<continents><america/><europa/>.....blablabla
" в узел земли.
Я читал связанные вопросы, но они говорят о получении innerxml элемента XElement, и я не понимаю, как "изменить" фактический элемент Xelement : (
2 ответов
построить XML
planetsElement.Element("earth").Add(
new XElement("continents",
new XElement("america"),
new XElement("europa")
)
);
проанализировать и добавить
planetsElement.Element("earth").Add(
XElement.Parse("<continents><america/><europa/></continents>")
);
использовать XElement.ReplaceNodes()
для установки содержимого элемента. Так. ..
var doc = XDocument.Parse(xmlString);
var earth = doc.Root.Element("earth");
// to replace the nodes use
earth.ReplaceNodes(XElement.Parse("<continents><america/><europa/></continents>"));
// to add the nodes
earth.Add(XElement.Parse("<continents><america/><europa/></continents>"));