XML字符串 - 仅选择某些节点

时间:2012-06-19 22:18:02

标签: xml xmlreader xpathnavigator

我试着在这里查看,但找不到合适的答案。我有一个XML字符串,它有一堆节点 我想从这个字符串中只提取几个节点,并用新的根元素附加它并返回它。

我知道如何通过将其加载到XMLDocument并选择节点来完成此操作。有没有更好的方法使用XpathNavigator或XmlReader执行此操作?

这是我的字符串

<root>
  <node1/>
  <node2/>
  <node3/>
  <node4/>
  <node5>
</root>

我希望我的输出字符串是

<root>
   <node3/>
   <node4/>
 </root>

必须以有效的方式完成。

1 个答案:

答案 0 :(得分:0)

为简单起见,我会使用XDocument.Parse()。并通过提供的函数操作DOM。由于XML是以字符串形式提供的,可能很小,我愿意打赌你不会看到复杂性问题。

如果要删除大量节点,建议您使用XPath字符串列表。然后,对于每个字符串,您可以使用doc.XPathSelectElements()查找所有元素,并在每个元素上调用remove()。生成的XDocument将只包含其余节点。