我有一个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>
值
答案 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。