2017-02-03 6 views
-1

xml解析に関する質問があります。Java - 無限の再帰構造でXMLを解析するには?

例えば、以下のような構造を持つXMLを解析することができ、私は(Javaでまたは他の)は、Java DOMパーサを開発したい

<root> 
    <parameters> 
     <parameter> <!-- ParameterA --> 
      <name>a</name> 
      <values> <!-- possible values for ParameterA --> 
       <value> 
        <name>a1</name> 
        <parameter> <!-- ParameterB dependent of ParameterA --> 
         <name>a11</name> 
         <values> <!--possible values for ParameterB --> 
          <value> 
           <name>a111</name> 
          </value> 
          <value> 
           <name>a112</name> 
          </value> 
         </values> 
        </parameter> 
       </value> 
       <value> 
        <name>a2</name> 
        <parameter> <!-- ParameterC dependent of ParameterA --> 
         <name>a22</name> 
         <values> <!--possible values for ParameterC --> 
          <value> 
           <name>a222</name> 
          </value> 
         </values> 
        </parameter> 
       </value> 
      </values> 
     </parameter> 
     <parameter> <!-- ParameterX --> 
      <name>b</name> 
      <values> <!-- possible values for ParameterX --> 
       <value> 
        <name>b1</name> 
       </value> 
      </values> 
     </parameter> 
    </parameters> 
</root> 

のxml strucutreを再開する:

  • パラメータには名前と可能な値のリストがあります(パラメータには値はありません)。
  • 値には名前があり、パラメータを含むことができます。

ParameterBがParameterAの依存している場合、その後、parameterAは...彼の値タグの内部

をparameterBなどに関する情報を持っていますパラメータのタグを持っています私は自分のDom Parserが(その値に関して)xml階層に従ってすべてのパラメータの組み合わせを取得できるようにしたい。上記の例の場合

、ドムパーサーは、

はありがとう...私はこれが可能であるならば、私はこの日以上のための私の頭をノックしてきた知らない

>> a-a1-a11-a111-b-b1 
>> a-a1-a11-a112-b-b1 
>> a-a2-a22-a222-b-b1 

を返す必要があります

提案をお待ちください。

+0

試しましたか?もしそうなら、何を試しましたか? – Gab

答えて

0

あなたは再帰的なデータ構造を持っているので、明らかにDOMパーサも再帰的にすることです。実際には、DOMベースの抽出プログラムを使用すると、実際の代替手段はありません。

  • は、すべての可能なセットを形成し、各パラメータ
  • で可能なすべての値を見つける:

    しかし、私はこれらはあなたの問題は、同時にあなたは二つのことをやろうとしているということだと思いますこれらの値の組み合わせ

2つのタスクを別々に実行すると、コード作成が容易になります。

関連する問題