我有下面的XML结构。我想删除一个完整的节点<ColumnValues>USD</ColumnValues>
如何从xml文档中删除特定节点?
<TableValue>
<Columns>
<ColumnName>Currency</ColumnName>
<ColumnType>String</ColumnType>
<ColumnValues>USD</ColumnValues>
<ColumnValues>USD</ColumnValues>
</Columns>
<Columns>
<ColumnName>Exchange</ColumnName>
<ColumnType>String</ColumnType>
<ColumnValues>US</ColumnValues>
<ColumnValues>US</ColumnValues>
</Columns>
<Columns>
<ColumnName>Ticker</ColumnName>
<ColumnType>String</ColumnType>
<ColumnValues>C</ColumnValues>
<ColumnValues>AAPL</ColumnValues>
</Columns>
</TableValue>
对于这个我使用下面的代码 -
XmlDocument doc = new XmlDocument();
doc.Load(@"C:\CASInputRequest_WOELN_Var1.xml");
XmlNodeList NodeTradeType = doc.GetElementsByTagName("ColumnValues");
NodeTradeType[0].RemoveAll();
doc.Save(@"C:\CASInputRequest_WOELN_Var1.xml");
,但它不是完全删除节点。输出是这样的 -
<TableValue>
<Columns>
<ColumnName>Currency</ColumnName>
<ColumnType>String</ColumnType>
<ColumnValues>
</ColumnValues>
<ColumnValues>USD</ColumnValues>
</Columns>
<Columns>
<ColumnName>Exchange</ColumnName>
<ColumnType>String</ColumnType>
<ColumnValues>US</ColumnValues>
<ColumnValues>US</ColumnValues>
</Columns>
<Columns>
<ColumnName>Ticker</ColumnName>
<ColumnType>String</ColumnType>
<ColumnValues>C</ColumnValues>
<ColumnValues>AAPL</ColumnValues>
</Columns>
</TableValue>
请建议,如何从xml中完全删除特定节点?
您能够使用LINQ到XML,顺便说一下?这通常会使XML更加愉快地处理。 –
相关文档:[MSDN - 'System.Xml.XmlNode'](http://msdn.microsoft.com/zh-cn/library/system.xml.xmlnode.aspx) –