Apache Digester(V3)を使用して、「thread-dumps」を含むXMLファイルを処理しようとしています。ファイルには多くのスレッドダンプが含まれ、1つのスレッドダンプには多くのスレッドが含まれ、1つのスレッドにはスタックトレースが含まれます。多くの行
このように:(簡略化)
<threaddumps>
<threaddump name="xxx">
<thread name="thread-1">
<stacktrace>
<line>
java.lang.wait
</line>
<line>
...
</line>
</stacktrace>
</thread>
<thread name="thread-2">
...
</threaddump>
<threaddump name="yyy">
...
</threaddumps>
この入力ファイルを処理するためにXMLベースのルールを使用しています。以下のフラグメント:
<pattern value="thread">
<object-create-rule classname="mypackagemodel.Thread"/>
<set-next-rule methodname="addThread" paramtype="mypackagemodel.Thread"/>
<set-properties-rule>
<alias attr-name="name" prop-name="name" />
</set-properties-rule>
<pattern value="stacktrace/line">
<object-create-rule classname="mypackagemodel.StackLine"/>
<set-next-rule methodname="addStackLine" paramtype="mypackagemodel.StackLine"/>
<!-- need something here -->
</pattern>
</pattern>
'line'タグの間からそのテキストを引き出すにはどうすればよいですか?私はすでに'stacktrace/ line'で一致していますが、使用するサブ要素はありません-では、どのパターンを使用できますか?
別の言い方をすれば、「StackLine」オブジェクトが作成され、正しく関連付けられています。これは、「setName()」セッターを何と呼ぶかわからないということです。
(XSLTでは、通常、同様のシナリオで「。」または「current()」を使用します)