3

タグ内のキーワード検索と多くのxmlファイルからの実際のデータを実行するJavaアプリケーションを作成する必要があります。オンラインでの調査から、xalanを使用する必要があると感じていますが、xalanの使用方法や機能がわかりません。誰かが私を正しい方向に向けることができますか?ありがとう

4

4 に答える 4

2

最初に行う必要があるのは、実際に検索するデータを決定することです。「タグ内と実データ内」というのは、要素名をキーワード検索するということですか?それとも、要素名とその中のコンテンツですか?

検索クエリの複雑さに応じて、Luceneなどの実際の検索エンジンを使用することをお勧めします。ただし、この手順を実行する前に、適切なインデックスを作成できるように、検索方法をよく検討する必要があります。

検索要件がより単純な場合は、ドキュメントを DOM にロードしてXPathを使用できます。Lucene に移行する前に、これを試してみることをお勧めします。

Xalan は必要ありません。JDK には、XML パーサーと XPath エバリュエーターが付属しています。それらの使用に関するいくつかの記事を書きました: ( parsing )、( xpath )。

于 2010-01-16T14:54:43.310 に答える
2

XalanXSLTプロセッサです。Xalan を使用すると、ソース XML ドキュメントを別のものに変換する XSL スタイルシートを作成できます。

もちろん、XSL 変換を作成してから、変換の結果を検索することもできます。

もう 1 つのオプションは、XML パーサーでドキュメントを解析してから Lucene を使用することです。Digester と Lucene を使用した XML ドキュメントの解析、インデックス作成、および検索を参照してください。

XPathを使用することもできます。それはすべて、正確に何を達成したいかによって異なります。

于 2010-01-16T14:55:24.503 に答える
0

XPath 関数を使用して検索を行う方法については、この SO 投稿を参照してください。contains()

XPath クエリの実行方法の例については、Java XPath のドキュメントを参照することをお勧めします。彼らが提供するサンプルコードは次のとおりです。

XPath xpath = XPathFactory.newInstance().newXPath();
String expression = "/widgets/widget";
InputSource inputSource = new InputSource("widgets.xml");
NodeSet nodes = (NodeSet) xpath.evaluate(expression, inputSource, XPathConstants.NODESET);

これにより、ファイルがロードされ、式に一致するすべてのノードがwidgets.xml返されます。NodeSet

于 2010-01-16T14:54:13.203 に答える
0

Java の XPath 実装を探しているようですね。これにより、検索式を作成し、それを 1 つ以上の XML ドキュメント (通常は解析済みである必要があります) に適用できます。Xalan は 1 つのオプションですが、他にもあります。Java 5 以降のバージョンの Java には、XML 解析機能と XPath 機能が含まれています。最近のバージョンの Java を使用していて、一連の XML ドキュメントを単純に解析および検索したい場合は、おそらく Java SDK 以外に何も必要ありません。

「すぐに使える」XPath 機能の概要については、この記事を参照してください。

于 2010-01-16T14:51:37.140 に答える