'스레드 덤프'가 포함 된 XML 파일을 처리하는 데 Apache Digester (V3)를 사용하려고합니다. 파일에 많은 스레드 덤프가 포함되어 있고, 하나의 스레드 덤프에 많은 스레드가 포함되어 있으며, 스레드가 많은 라인Apache Digester Pattern : XSLT의 '.'와 같은 것이 필요합니다.
이 같이구성된 스택 트레이스, 포함 (간체)
<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()'설정자를 호출 할 항목을 모르겠습니다.