我想在 c++/cli 中更改 XmlElement 的 Name 属性。
我想执行 myXmlElem.Name = "xyz"
,但编译器告诉我不能对 Name 属性执行设置操作。
即
<abc/>
改为
<xyz/>
我怎样才能做到这一点?
谢谢!
最佳答案
您不能像那样更改 XmlElement 的 Name 属性(Name 是只读的)。
但是您可以执行以下操作(C# 中的示例)。
XmlElement xyz = myXmlElem.OwnerDocument.CreateElement("xyz");
myXmlElem.ParentNode.ReplaceChild(xyz, myXmlElem);
编辑以回应您的评论
XmlElement xyz = myXmlElem.OwnerDocument.CreateElement("xyz");
for(int i = 0; i < myXmlElem.ChildNodes.Count; i++){
XmlNode child = myXmlElem.ChildNodes[i];
xyz.AppendChild(child.CloneNode(true));
}
myXmlElem.ParentNode.ReplaceChild(xyz, myXmlElem);
关于c# - 更改 XmlElement 名称属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12320809/