【发布时间】:2010-03-22 23:59:16
【问题描述】:
我正在尝试从名为 listaWidths 的 XmlNodeList 中删除特定节点。在我使用 RemoveChild() 之前,这个特定列表有 5 个项目。但是,在 RemoveChild() 语句之后,列表仅保留 1 项。
XmlNodeList listaWidths = xmlDoc.SelectNodes("/MsBuild:Report/MsBuild:Body/MsBuild:ReportItems/MsBuild:Tablix/MsBuild:TablixBody/MsBuild:TablixColumns/*", nsmgr);
int indexEpoca = 0;
XmlNode node = listaWidths[indexEpoca];
XmlNode parent = listaWidths[indexEpoca].ParentNode;
parent.RemoveChild(node);
这是一个 RDL Reporting Services XML。 具体的XML代码在这里:
<Tablix Name="Tablix3">
<TablixBody>
<TablixColumns>
<TablixColumn>
<Width>1.602in</Width>
</TablixColumn>
<TablixColumn>
<Width>1.61in</Width>
</TablixColumn>
<TablixColumn>
<Width>1.6323in</Width>
</TablixColumn>
<TablixColumn>
<Width>1.6023in</Width>
</TablixColumn>
<TablixColumn>
<Width>1.6033in</Width>
</TablixColumn>
</TablixColumns>
(...)
我已经尝试了所有可能的组合,但没有任何运气。我究竟做错了什么? 谢谢。
【问题讨论】:
-
对不起,具体是什么问题?您说哪个列表之后为零,您如何确定?
-
在 removeChild() 方法之后,listaWidths 列表只有 1 个项目,当它应该有 4 个时,因为它原来有 5 个。我在变量上放了一个手表,只要方法 removeChild( ) 被执行,列表只有一项。
标签: c# xml xpath xmlnode xmlnodelist