将 XmlNodeType::Attribute 的节点附加到 XmlNode 时出错

Error when appending a node of XmlNodeType::Attribute to an XmlNode

谁能解释一下我在这里做错了什么,我得到了这个错误:

The specified node cannot be inserted as the valid child of this node, because the specified node is the wrong type.

在此代码的最后一行?

XmlDocument^ xmlDoc = gcnew XmlDocument();
XmlNode^ xmlNode = xmlDoc->CreateNode(XmlNodeType::Element, "QualifyingProperties", "http://uri.etsi.org/01903/v1.3.2#");
XmlNode^ nodAttribute = xmlDoc->CreateNode(XmlNodeType::Attribute, "Target", "http://namespace.123");

xmlNode->AppendChild(nodAttribute);

将 XmlNodeType::Attribute 类型的节点添加到 XmlNode 的正确方法是什么? 我知道我可以创建一个 XmlAttribute 并将其添加到属性中,但我想找出我尝试这样做的方式有什么问题。

这是因为,根据定义,属性不是其他节点的子节点,因此您不能将它们传递给 AppendChild

他们有一个特别的地方:

xmlNode->Attributes->SetNamedItem(nodAttribute);