dev*_*per 1 c# xml replace c++-cli
我想在c ++/cli中更改XmlElement的Name属性.
我想这样做myXmlElem.Name = "xyz",但编译器告诉我,我不能对Name属性进行set操作.
即
<abc/>
Run Code Online (Sandbox Code Playgroud)
变成
<xyz/>
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
谢谢!
你不能像这样更改XmlElement的Name属性(Name是只读的).
但是,您可以执行以下操作(C#中的示例).
XmlElement xyz = myXmlElem.OwnerDocument.CreateElement("xyz");
myXmlElem.ParentNode.ReplaceChild(xyz, myXmlElem);
Run Code Online (Sandbox Code Playgroud)
编辑回复您的评论
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);
Run Code Online (Sandbox Code Playgroud)