1

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

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

fatherNode.Attributes.Append(attribute1);  

该属性被添加到集合中,但是当我之后这样做时:

childNode.Attributes.Append(attribute1);

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

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

4

1 回答 1

4

尝试这个:

fatherNode.Attributes.Append(attribute1);
childNode.Attributes.Append( (XmlAttribute)attribute1.Clone());
于 2013-07-07T12:59:53.913 回答