C#无法在2个Xmlnodes中添加相同的XmlAttribute

时间:2013-07-07 10:25:56

标签: c# xml xmlnode

我创建了XmlAttribute,并将其添加到XmlNode,一切正常 当尝试将相同的XmlAttribute添加到另一个XmlNode时,它窃取来自我添加到的第一个XmlNode的属性。

我的情景是这样的:
父节点有能力,如果这个能力可用,那么我创建一个新节点并将其设置为该父节点的子节点 父节点有3个(X-Y-Z)属性,如果父节点有能力,那么我创建子节点,并将这些属性添加到它。
我的问题是当我这样做时:

fatherNode.Attributes.Append(attribute1);  

该属性被添加到集合中,但是当我之后执行此操作时:

childNode.Attributes.Append(attribute1);

它从fatherNode中删除了该属性,现在它只在childNode中。

这是什么行为?有没有办法避免它?

1 个答案:

答案 0 :(得分:4)

试试这个:

fatherNode.Attributes.Append(attribute1);
childNode.Attributes.Append( (XmlAttribute)attribute1.Clone());