将 XmlNodeType::Attribute 的节点附加到 XmlNode 时出错
Posted
技术标签:
【中文标题】将 XmlNodeType::Attribute 的节点附加到 XmlNode 时出错【英文标题】:Error when appending a node of XmlNodeType::Attribute to an XmlNode 【发布时间】:2015-03-13 10:10:30 【问题描述】:有人可以解释一下我在这里做错了什么,我得到了这个错误:
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 并将其添加到属性中,但我想找出我尝试这样做的方式有什么问题。
【问题讨论】:
【参考方案1】:这是因为,根据定义,属性不是其他节点的子节点,因此您不能将它们传递给AppendChild
。
他们有一个特别的地方:
xmlNode->Attributes->SetNamedItem(nodAttribute);
【讨论】:
以上是关于将 XmlNodeType::Attribute 的节点附加到 XmlNode 时出错的主要内容,如果未能解决你的问题,请参考以下文章
Javascript 将正则表达式 \\n 替换为 \n,将 \\t 替换为 \t,将 \\r 替换为 \r 等等