私はまた。新しい問題があります。
必要な要素のみに xml 構造を削除/縮小するのが好きです。
問題を説明するために、単純なランダム構造を構築しました。
<ROOT>
<DATA>
<ALLOC>
<TYPE>Test</TYPE>
<NAME>something text</NAME>
<VALUE>4711</VALUE>
</ALLOC>
<ALLOC>
<TYPE>Test</TYPE>
<NAME>something text</NAME>
<VALUE>4712</VALUE>
</ALLOC>
<ALLOC>
<TYPE>Test</TYPE>
<NAME>something text</NAME>
<VALUE>4713</VALUE>
</ALLOC>
</DATA>
<SOURCE>
<CONNECTION>
<TYPE>SQL</TYPE>
<VALUE>jdbc</VALUE>
<CSTRING>jdbc string</CSTRING>
</CONNECTION>
<CONNECTION>
<TYPE>CSV</TYPE>
<VALUE>CSV</VALUE>
<CSTRING></CSTRING>
</CONNECTION>
</SOURCE>
</ROOT>
必要な要素は次のとおりです。
/ROOT[1]/DATA[1]/ALLOC[2]/VALUE[1]
/ROOT[1]/SOURCE[1]/CONNECTION[1]/CSTRING[1]
必要な要素ステートメントは、xmlassert.equal > xmldiff を使用して Java から取得されます。
ここで、必要な要素に xml 構造を削除する必要がありますが、要素の xml 構造 (xpath) は保持します。
望ましい出力は次のとおりです。
<ROOT>
<DATA>
<ALLOC>
<VALUE>4712</VALUE>
</ALLOC>
</DATA>
<SOURCE>
<CONNECTION>
<CSTRING>jdbc string</CSTRING>
</CONNECTION>
</SOURCE>
</ROOT>
実際の構造は非常に大きく (印刷する場合は、A4 ページの 6 倍以上)、複雑で、複数のレベルがあります。要求された要素も動的です。
私は過去数時間、多くの fourms でスレッドを読み取り、多くの異なる xslt を試し、より多くのスレッドを読み取ることに費やしました。
どうやってやるの?
よろしくお願いします。