需求
根节点 root,子节点是数个 item,现在需求是:
原来为空,就构造这么一个 Xml 字符串。
原来不为空,就插入一个 item。
代码
using System.Xml.Linq; string xml = @"<item> <name>...</name> <age>...</age> </item>"; if (string.IsNullOrEmpty(oldXml)) { return $@"<root>{xml}</root>"; } else { XElement oldElement = XElement.Parse(oldXml); oldElement.Add(XElement.Parse(xml)); return oldElement.ToString(); }
要点
XElement.Parse() 将 Xml 字符串转换成 XElement。
XElement.ToString() 将 XElement 转换成 Xml 字符串。
XElement.Add() 是添加一个子节点。
XElement 的节点就是当前载入 Xml 字符串的节点,如上,并不是根节点的上一层,即不需要再选择 root 节点,因为当前就是 root 节点。
另外
如果要选择节点的话,XElement.Element() 这个方法里面可直接跟节点名称(字符串)。