私のSilverlightアプリケーションでは、主にXmlReaderを使用していますが、XmlReaderの実装をLINQtoXMLに置き換えるというアイデアで遊んでいます。
SilverlightのLINQtoXMLとXmlReaderの長所と短所は何ですか?
私のSilverlightアプリケーションでは、主にXmlReaderを使用していますが、XmlReaderの実装をLINQtoXMLに置き換えるというアイデアで遊んでいます。
SilverlightのLINQtoXMLとXmlReaderの長所と短所は何ですか?
SilverlightでLINQtoXMLを使用します。
XmlReaderがLINQより優れている点の1つは、メモリ内にDOMを構築せず、既存のストリーム上を移動することです。ただし、この違いは、コンテンツ全体が到着するのを待つのではなく、ストリームが到着したときに処理を開始できる場合にのみ実際に発生します。この利点を実現することは非常に困難であり、ほとんど役に立ちません。
LINQ to XMLは、クエリを実行するのがはるかに簡単で、使用するのがかなり柔軟です。トレードオフは、余分なメモリです。
...個人的には、最初に導入されたときにLINQ to XMLに切り替えましたが、振り返ることはありませんでした。現時点では、パフォーマンスの大幅な低下には気づいていません。
LINQ to XMLの方が簡単ですが、System.XML.Linqで参照する必要があります。これにより、Silverlightアプリケーションを読み込む必要のあるアセンブリの数が増えます。状況やフィードによっては、XMLReaderを使用すると便利な場合があります。