1

ここでの動的という言葉の最適な使用法ではないかもしれませんが、私が意味することの例を示します。

XML 形式の構成ファイルがいくつかあり、これらの構成ファイルの特定の要素にアクセスする必要があります。今のところ、コードでは、次のようなことをしています:

string serverName = elements.Element("Server").Value;

上記はServer、 の子要素のままでelementsあれば問題ありませんが、移動する場合は、コードを変更する必要があります。私が考えた 1 つの解決策はXPATH、実行時にロードするファイルで定義された式を使用することでした。探していた要素または属性が変更された場合、コードを変更する必要はなく、XPATH式を変更するだけで済みます。これは実行可能なアプローチですか、それとも別の解決策がありますか?

4

1 に答える 1

1

子孫を使用して、ツリー内の任意の要素「サーバー」要素を見つけることができます。ただし、Xmlが変更されたときにコードを変更することは悪いことではないかもしれません。少なくとも、何を読んでいるかはわかっています。Descendandsを使用する場合、変更が意図的であるかどうかに関係なく値を読み取ります。つまり、内部に「Server」要素が含まれているXmlドキュメントを読み取ることを意味します。つまり、受け入れるXmlファイルは構造に準拠する必要はありません。 / defined(xsdで強制する場合を除く)

于 2012-10-02T02:08:41.147 に答える