今天用Linq to XML时,发现好像没有类似的直接读取InnerXml和设置InnerXml的方法,在Google搜索,得到间接读取和设置InnerXml的方法,留作备用。
XDocument xmlDoc = XDocument.Load(sr);
XElement eleParent = xmlDoc.XPathSelectElement("root/parent");
//读取InnerXml
//方法1
StringBuilder innerXml = new StringBuilder();
eleParent.Nodes().ToList().ForEach(node => innerXml.Append(node.ToString()));
string strInnerXml = innerXml.ToString();
//方法2
XmlReader xr = eleParent.CreateReader();
xr.MoveToContent();
string strInner = xr.ReadInnerXml();
//设置InnerXml
eleParent.ReplaceNodes(XElement.Parse("<content>" + strInnerXml + "</content>"));
string strContent = xmlDoc.ToString();