修剪XML文件

时间:2010-03-30 09:43:47

标签: c# .net-2.0

我有一个XML文件,如下所示

<NewDataSet>
- <T>
  <P /> 
  <C>1</C> 
  <M /> 
  </T>
- <T>
  <P /> 
  <C>1</C> 
  <M /> 
  </T>
- <T>
  <P /> 
  <C>1</C> 
  <M /> 
  </T>
- <T>
  <P /> 
  <C>1</C> 
  <M /> 
  </T>
- <T>
  <P /> 
  <C>2</C> 
  <M>44</M> 
  </T>
- <T>
  <P /> 
  <C>2</C> 
  <M>45</M> 
  </T>
- <T>
  <P /> 
  <C>2</C> 
  <M>46</M> 
  </T>
</NewDataSet>

问题 - Basicall我应该删除块

<T>
  <P /> 
  <C>1</C> 
  <M /> 
  </T>

没有<M>

2 个答案:

答案 0 :(得分:1)

将整个文档加载到XmlDocument(或XDocument),选择类似/T[not(./M)]的XPath节点并删除它们。

答案 1 :(得分:0)

您可能需要查看Linq-to-XML

您可以查询包含空M元素的所有XElements,并从其父XML元素中删除它们。

以例如:

from element in _yourXDocument.Descendants("NewDataSet")
select element
where element.Descendants("M").Value = String.Empty;

对于.Net 2.0,请使用XmlDocument