我想使用 XSLT 解析 XML 文件并将其转换为 CSV 格式。XML 格式如下所示:
<a:level1>
<a:level2>
<b:level3">
<b:date a:value="TODAY">
<c:level4>
<d:level5>
<d:level6 a:value="AAA">
<d:level7 a:value="AAA_AAA">
<d:level8 a:value="XXX/123">
<d:leaf a:value="150415">
<b:leaf1>100</b:leaf1>
<b:leaf2>100</b:leaf2>
</d:leaf>
<d:leaf a:value="200814">
<b:leaf1>1961</b:leaf1>
<b:leaf2>1961</b:leaf2>
</d:leaf>
</d:level8>
</d:level7>
</d:level6>
<d:level6 a:value="BBB">
<d:level7 a:value="BBB_BBB">
<d:level8 a:value="XXX/123">
<d:leaf a:value="1505">
<b:leaf1>0.42</b:leaf1>
<b:leaf2>0.42</b:leaf2>
</d:leaf>
</d:level8>
</d:level7>
</d:level6>
</d:level5>
</c:level4>
</b:date>
</b:level3>
</a:level2>
</a:level1>
目标是仅提取具有值的节点并将节点名称用作标题。输出 CSV 文件将如下所示:
date, level6, leve7, level8, leaf, leaf1, leaf2
TODAY, AAA , AAA_AAA, XXX/123, 150415, 100,100
TODAY, AAA , AAA_AAA, XXX/123, 200814, 1961,1961
TODAY, BBB , BBB_BBB, XXX/123, 1505, 0.42,0.42
我是 XSLT 的新手,你有关于如何在 CSV 中构造标题和行的示例吗?节点 level6、level7、level8、leaf 的名称可能在不同的文件中发生变化。