我创建了XmlAttribute,并将其添加到XmlNode,一切正常 当尝试将相同的XmlAttribute添加到另一个XmlNode时,它窃取来自我添加到的第一个XmlNode的属性。
我的情景是这样的:
父节点有能力,如果这个能力可用,那么我创建一个新节点并将其设置为该父节点的子节点
父节点有3个(X-Y-Z)属性,如果父节点有能力,那么我创建子节点,并将这些属性添加到它。
我的问题是当我这样做时:
fatherNode.Attributes.Append(attribute1);
该属性被添加到集合中,但是当我之后执行此操作时:
childNode.Attributes.Append(attribute1);
它从fatherNode中删除了该属性,现在它只在childNode中。
这是什么行为?有没有办法避免它?
答案 0 :(得分:4)
试试这个:
fatherNode.Attributes.Append(attribute1);
childNode.Attributes.Append( (XmlAttribute)attribute1.Clone());