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 に答える