我有以下xml:
<span>sometext</span>
我想用另一个标签包装这个XmlNode:
<p><span>sometext</span></p>
我怎样才能做到这一点。对于解析,我使用XmlDocument(C#)。
答案 0 :(得分:2)
以上&#34;最佳答案&#34;如果你不在乎新的&#34; p&#34;节点最终在父节点的末尾。要将其替换为原位,请使用:
string xml = "<span>sometext</span>";
XmlDocument xDoc = new XmlDocument();
xDoc.LoadXml(xml);
// If you have XmlNode already, you can start from this point
XmlNode node = xDoc.DocumentElement;
XmlElement clone = node.Clone();
XmlNode parent = node.ParentNode;
XmlElement xElement = xDoc.CreateElement("p");
xElement.AppendChild(clone);
parent.ReplaceChild(xElement, node);
答案 1 :(得分:1)
你可以尝试这样的事情。
string xml = "<span>sometext</span>";
XmlDocument xDoc = new XmlDocument();
xDoc.LoadXml(xml);
// If you have XmlNode already, you can start from this point
XmlNode node = xDoc.DocumentElement;
XmlNode parent = node.ParentNode;
XmlElement xElement = xDoc.CreateElement("p");
parent.RemoveChild(node);
xElement.AppendChild(node);
parent.AppendChild(xElement);
答案 2 :(得分:0)
您必须使用XmlDocument的CreateNode(XmlNodeType.Element,“p”,“”)。
然后使用AppendChild方法将旧节点附加到新节点