1

パフォーマンスが優れているXMLを解析するためにXDocumentwithを使用しますか?xpath

例:タグを検索してxmlで値を取得するには

tags = xmlDoc.Descendants(xmlTag);

また

xml.SelectSingleNode("//root/node")

では、どちらが速くなりますか?

4

1 に答える 1

7

XPathはXMLを解析しません... XPathは、それをサポートする他のXMLAPIの上で使用されるクエリ言語です。(たとえば、XmlDocumentまたはの上でXPathを使用できますXDocument。)

どのクエリがより高速で便利かを見つけるには、実際のデータのサンプルに対して実際のXPathおよびLINQtoXMLクエリを試す必要があります。状況によってはXPathの方が高速であり、他の状況ではLINQtoXMLの方が高速であると思います。

ただし、クエリの実行速度が実際にコードのボトルネックであった場合は驚きます。それがボトルネックであるという証拠はありますか?まず、どれが最も読みやすいかを自問する必要があります。そのコードを実装し、それが十分に速いかどうかを確認します。

于 2012-04-19T06:17:16.293 に答える