我又来了 我有一个新问题。
我喜欢将 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]
所需的元素语句来自 java xmlassert.equal > xmldiff
现在我必须剥离 xml 结构,以要求元素,但保留元素的 xml 结构(xpath)。
所需的输出是:
<ROOT>
<DATA>
<ALLOC>
<VALUE>4712</VALUE>
</ALLOC>
</DATA>
<SOURCE>
<CONNECTION>
<CSTRING>jdbc string</CSTRING>
</CONNECTION>
</SOURCE>
</ROOT>
真正的结构是巨大的(如果要打印的话,至少需要 6x A4 页面)、复杂并且有多层。请求的元素也是动态的。
在过去的几个小时里,我花了很多时间阅读线程,尝试使用大量不同的 xslt 并阅读更多线程。
我怎样才能做到这一点?
非常感谢你。