XMLNode.Clone
From Xojo Documentation
Method
Duplicates the current node. The Deep parameter indicates whether to also duplicate all the child nodes. It returns an XMLNode.
Examples
The example code below uses this XML. Assign it to a constant called kXML:
<?xml version="1.0" encoding="UTF-8"?> <League> <Team name="Seagulls"> <Player name="Bob" position="1B" /> <Player name="Tom" position="2B" /> </Team> <Team name="Pigeons"> <Player name="Bill" position="1B" /> <Player name="Tim" position="2B" /> </Team> <Team name="Crows"> <Player name="Ben" position="1B" /> <Player name="Ty" position="2B" /> </Team> </League>
Duplicate the first team node, change the team name and add it to the XML:
Var xml As New XmlDocument(kXML)
Var n As XmlNode = xml.DocumentElement.FirstChild
If n <> Nil Then
// Duplicate the first team
Var dup As XmlNode = n.Clone(True)
// Change its name to "Eagles"
dup.SetAttribute("name", "Eagles")
// Add it to the XmlDocument
n.Parent.AppendChild(dup)
TextArea1.Value = xml.ToString
End If
Var n As XmlNode = xml.DocumentElement.FirstChild
If n <> Nil Then
// Duplicate the first team
Var dup As XmlNode = n.Clone(True)
// Change its name to "Eagles"
dup.SetAttribute("name", "Eagles")
// Add it to the XmlDocument
n.Parent.AppendChild(dup)
TextArea1.Value = xml.ToString
End If