C# 修剪XML文件

C# 修剪XML文件,c#,.net-2.0,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

我有一个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>

- 

1. -

1. -

1. -

1. -

2. 44 -

2. 45 -

2. 46

问题-我应该移除该块

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

1.


它没有

您可能需要查看

您可以查询包含空M元素的所有Xelement,并将其从其父XML元素中删除

例如:

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

对于.Net 2.0,请使用。

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

更多信息可能会有所帮助。你想保存输出还是只返回没有M值的T元素来显示?基本上,我想通过删除T标记及其在M标记中没有值的子标记来精简这个xml文件我正在使用DotNet 2.0框架你能帮我一个codeXmlDocument是一个.Net 2.0类,请在MSDN.Ow上查找它吗,不,不会:(.对不起,我以为你在使用.NET3.5