OK、私はxml、xpathなどを扱うのはかなり新しいです。
キューから情報を取得するWindowsサービスを作成している最中です。この情報を処理し、この情報の処理の一部は、ロードするよりも作成しているxmldocumentでxpathを使用しています。
コードスニペット。:
XmlDocument _xmlDocument = new XmlDocument();
_xmlDocument.Load(svgFile);
_xmlNamespaceManager = new XmlNamespaceManager(_xmlDocument.NameTable);
_xmlNamespaceManager.AddNamespace("svg", "http://www.w3.org/2000/svg");
上記のスニペットの後、いくつかのxpath機能を実行していますが、これを使用する必要があります。これは、時間を大幅に節約できる事前に作成された関数がいくつかあるためです。
これが本当の問題です。上記のAddNamespaceを使用している場合、そのURIに出力され、実行に時間がかかりすぎます(検証など)。私の考えは、DTDをダウンロードしてローカルファイルを作成するだけで、Webに出て行くのに無駄になっている時間を節約できるかどうかということでした。残念ながら、AddNamespaceがないと、xpathは機能しません。
私はこれをウェブ上で調査しましたが、これに対する解決策を見つけることができませんでした。xmlは内部で作成されるので、現時点でWebから最新のスキーマを取得することについてあまり心配していません。サービスからタイムリーにデータを生成することについて、私はもっと心配しています。たぶん私は完全に間違っていて、これは不可能ですが、プログラム的に言えば、これが以前にどのように行われたかはわかりません。