0

ここで調べてみましたが、適切な答えが見つかりませんでした。たくさんのノードを持つXML文字列があります。
この文字列からいくつかのノードのみを抽出し、新しいルート要素を追加して返します。

これをXMLDocumentにロードし、ノードを選択することで、これを行う方法を知っています。XpathNavigatorまたはXmlReaderを使用してこれを行うためのより良い方法はありますか?

これは私の文字列です

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

出力文字列を

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

効率的な方法で行う必要があります。

4

1 に答える 1

0

簡単にするために、 を使用しますXDocument.Parse()。また、提供された関数を使用して DOM を操作します。XML はおそらく小さな文字列として提供されるため、複雑さの問題はないと確信しています。

削除するノードが多数ある場合は、XPath 文字列のリストを使用することをお勧めします。次に、文字列ごとに、 を使用doc.XPathSelectElements()してすべての要素を検索し、それぞれを呼び出すことができますremove()。結果の XDocument には、残りのノードのみが含まれます。

于 2012-06-20T04:21:23.730 に答える