1

ここでは、いくつかの仮定を行います。

  1. XPathDocumentは編集できません。
  2. XmlDocumentは編集可能です。
  3. XPathDocumentは、XslCompiledTransformに対してより効率的です。

その場合(そして私が間違っている場合は私を訂正してください)、次の方が良い(より効率的)でしょうか?

  1. XmlDocumentを使用して変更を加え、変換前にXPathDocumentに変換します。これを行うための最適化された方法はありますか?
  2. 変換を通じてXmlDocumentに固執するだけです。

背景として、Webサービスから複雑なxmlを取得し、xpathを使用して変更が必要な要素を見つけ、xsltを使用してhtmlを作成します。

助けてくれてありがとう。

4

2 に答える 2

2

これは、必要な変更の量、データの大きさ、およびxsltに精通しているかどうかによって異なります。最後まで「そうでない」場合は、XDocumentetcを使用します(前回プロファイルを実行したときは、データXDocumentよりも高速でした。独自のテストを実行してください)。/を使用して、ノードを見つけて編集し、保存します。XmlDocument XDocument.LoadXDocument.Parse


xsltを使用する必要がある場合、それXDocumentは実際にはオプションではありません。ロードした後は、そのままにしておくことXmlDocumentできます。2番目のDOMに解析することはお勧めしません。XmlDocument

もちろん、不思議に思うでしょう。xsltを使用するのであれば、なぜxsltの外部でxmlを変更するのでしょうか。おそらくxslt中に翻訳するだけですか?

もちろん、データに対して100%正確な回答を得るには、データをプロファイリングする必要があります。ただし、xsltグループ化構造の適切な使用などは、 vsよりもはるかに大きな違いをもたらすことがよくあります。XmlDocumentXPathDocument

于 2009-12-14T17:20:36.753 に答える
1

XmlDocument変換にクラスを使用するだけです。パフォーマンスの向上を実際に確認するには、大量のドキュメントである必要があります。XslCompiledTransformクラスを複数回使用する予定がある場合は、クラスの静的インスタンスをコンパイルすることをお勧めします。

于 2009-12-14T17:16:47.947 に答える