0

私がやろうとしているのは、XML ファイルを使用して、Web 上に保存したいデータの配列にアクセスすることです。ファイルは次のようになります。

<resources>
    <60020> 13.5 </60020>
    <50020> 11.2 </50020>
</resources>

プログラムはユーザーの GPS 座標を取得し、それを郵便番号にジオコーディングします。その後、私がやりたかったことは、その郵便番号を XML ファイル内の郵便番号と比較し、最も近い郵便番号に基づいて整数を返すことでした。たとえば、ユーザーの郵便番号が 60013 の場合、プログラムは 60020 が最も近い郵便番号であることを認識し、その検索に基づいて 13.5 を返します。

私はすでに SAXParser を作成しようとしましたが、最初の値を返すことはできますが、SAXParser に強制的にドキュメント全体を読み取らせて最も近い値を見つける方法がわかりません。また、最も近い値を見つけるためのアルゴリズムも既に持っています (値の違いをチェックするループの場合は簡単です) が、値のリスト全体をチェックする方法の全体的なアイデアに固執しています。間違ったタイプの保管方法を使用していませんか? SQL を使用する必要がありますか? それとも別のパーサーですか?

ご協力いただきありがとうございます。

4

1 に答える 1

0

最初に郵便番号を四捨五入してから、XML ファイルで検索することをお勧めします。XML ファイルのクエリには Xpath Api をお勧めします。Xpathに関する非常に優れたチュートリアルがここにあります

http://www.ibm.com/developerworks/library/x-javaxpathapi/index.html

また、SAXparser 自体がタグを検索するため、タグを四捨五入しません。全体として、XPath は比較的簡単なため、XML ドキュメントの検索に適しています。

于 2013-09-03T08:50:15.660 に答える