我加载一个XmlDocument,然后选择一些节点到一个XmlNodeList实例中。如果我编辑任何这些节点,XmlDocument的将被修改有没有办法在C#中复制或制作XmlNodeList的另一个副本?
XmlDocument xd = loadXml();
XmlNodeList xnl = xd.SelectNodes("/root/nodes");
foreach (XmlNode n in xnl)
{
n.InnerText = "";
}
所以我明白该修改的XmlNodeList - 修改的XmlDocument的节点列表是从拍摄。
是否有某种方法可以将节点列表的深层副本(我认为这是我需要的)创建到另一个XmlElement中,这样当我修改这些节点时,它们将独立于从中复制它们的原始位置?
看一看的['XmlNode'的'克隆()'方法](http://msdn.microsoft.com/en-us/library/system.xml.xmlnode.clone.aspx )。它可以深层复制节点。你已经有了循环,所以这应该不是那么难。 – Tomalak 2012-02-17 21:29:10
除了克隆(),Xml类型总是很容易复制:写入和读取(内存)流。 – 2012-02-17 21:31:54