1

私は以下の形式のxmlファイルを持っています:

<Query>
   <map>
      <value name="val1">1</value>
      <value name="val2">2</value>
   </map>
</Query>
<Quest>
   <map>
      <value name="val1">6</value>
      <value name="val2">8</value>
   </map>
</Quest>

SAXパーサーを作成すると、最初から最後まですべての値を取得しますが、Query / Questなどのタグ名を取り込んで、特定の名前と値のみを取得する条件を作成する必要があります。

この条件を追加する方法がわかりません。条件が満たされ、オブジェクトが解析されたら、残りのタグを解析する必要はありません。

:私はJavaで書いています。

4

2 に答える 2

2
  • startElementで、要素名を指定された名前と照合します。たとえば、「Query」を探していて、名前が「Query」の場合は、フラグをtrueに設定します。
  • startElementで、要素名が「value」でフラグがtrueの場合、名前と値をマップに格納します。
  • endElementで、要素名が「Query」と等しい場合は、フラグをfalseに設定します。必要に応じて、解析を完全に停止します。
于 2010-07-20T11:06:25.740 に答える
0

特定の要素セットのデータのみが必要な場合は、DOMベースのパーサー、特にXPathを使用して必要なフィールドを取得する方が簡単な場合があります。

xpathライブラリはjaxenであり、私がJDOMを使用したいくつかのドームで使用できます。

于 2010-07-20T11:28:50.990 に答える