I'm trying to make a copy of a XML node and all their child nodes but different XML parent node name, but is throwing me an error, this is the xml file:
<Servers> <MyServer> <Host>0.0.0.0</Host> <Port>12</Port> <User>USER</User> </MyServer> </Servers>
What I'm trying to do is a copy of MyServer with all their child nodes and values but different name... something like this
<Servers> <MyServer> <Host>0.0.0.0</Host> <Port>12</Port> <User>USER</User> </MyServer> <MyCopyofMyServer> <Host>0.0.0.0</Host> <Port>12</Port> <User>USER</User> </MyCopyofMyServer> </Servers>
What I did was this:
public void CopyInterface(string NewServer, string ServerToCopy) { xmldoc.Load(XMLInterfacesFile); XmlNode NodeToCopy = xmldoc.SelectSingleNode("Servers/" + ServerToCopy); XmlNode deep = NodeToCopy.CloneNode(true); deep.InnerXml = deep.InnerXml.Replace(ServerToCopy, NewServer); xmldoc.AppendChild(deep); //Throwing an exception here! xmldoc.Save(XMLInterfacesFile); }
Exception: This document already has a 'DocumentElement' node.
Any Idea?
No comments:
Post a Comment