У меня есть структура 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/en-us/library/system.xml.xmlnode.aspx) –