2

Java SAX パーサーでいくつかの xml を解析する必要があります。忙しかったので、ここで状態パターンを使用できることがわかりました。

xml ドキュメントの構造に似た、明確な状態と状態遷移が定義されています。

状態パターンを実装するには、インターフェイス (または抽象クラス) を定義する必要があります。最も明白なインターフェイス メソッドは次のとおりです。

public void startElement(String elementName);
public void endElement(String elementName);

しかし、私が遭遇する問題は、情報を返す方法です。1 つの構造の xml ドキュメントの複数のレベルからの情報が必要です。

これは xml ドキュメントの一部です

<chessboard>
     <white>
         <king>
              <position>
                  <x>e</x>
          <y>1</y>
              </position>
         </king>
         <pawns>
             <pawn id="1">
                  <position>
                      <x>e</x>
              <y>2</y>
                  </position>
             </pawn>
             <pawn id="1">
                  <position>
                      <x>f</x>
              <y>2</y>
                  </position>
             </pawn>
         </pawns>
    </white>
</chessboard>

状態パターンがここに収まるという私の仮定は正しいですか? もしそうなら、ここでそれを実装する最良の方法は何ですか?

4

2 に答える 2

0

状態パターンはここにぴったりだと思います。ドキュメント内のどこにいるかを知るために、何らかの状態を保持する必要があります。

情報を収集するには、stateclasses の各メソッドにオブジェクトを渡して、そこに情報を入れることができます。

私が思いもよらなかった他の問題がない限り、これが最善の解決策だと思います。

于 2009-05-25T06:59:33.150 に答える