Nan*_* HE 3 c# xml selectsinglenode removechild c#-2.0
当我尝试使用RemoveChild()删除我的一些子元素时.但抛出异常.我在下面附上了我的代码.
nodeName = doc.SelectSingleNode("//Equipment//DataCollections//EnabledIDs//MyID[@id='" + attrValue + "']");
// Found the nodeName successfully druing run time.
doc.DocumentElement.RemoveChild(nodeName);
// faild to Remove the node
Run Code Online (Sandbox Code Playgroud)
显示以下错误:
An unhandled exception of type 'System.ArgumentException' occurred in System.Xml.dll
Additional information: The node to be removed is not a child of this node.
Run Code Online (Sandbox Code Playgroud)
如何删除节点?
[更新]
使用VS2005和.NET 2.0.
我相信.RemoveChild正在删除您选择的节点的子节点.
nodeName叶子下面还有叶子吗?
编辑:
实际上你需要删除Parent的Child,尝试以下方法:
nodeName.parentNode.removeChild(nodeName)
Run Code Online (Sandbox Code Playgroud)
您正试图直接从文档元素中删除节点,当它实际上是文档元素的曾孙(或者可能只是孙子)时.RemoveChild仅在指定直接子项时才有效,而不仅仅是任何后代.
试试这个:
nodeName.ParentNode.RemoveChild(nodeName);
Run Code Online (Sandbox Code Playgroud)
(如果Remove()根据Adkins的回答存在,那会更好 - 但我在MSDN中找不到这样的方法.)
| 归档时间: |
|
| 查看次数: |
6228 次 |
| 最近记录: |