我需要通过XSLT将xml转换为csv; 我不知道xml中的哪些标签,而且它包含重复的标签。 xml的示例:
<?xml version="1.0" encoding="utf-8"?>
<AP xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:pd="http://www.ascentn.com/bpm/XMLSchema">
<processFields>
<smsText />
<PID>810C005056A14F7F119914B53474BB65</PID>
<ComplexProximity>
<lasttNameTxt>!!!!!!!</lasttNameTxt>
</ComplexProximity>
</processFields>
<formFields>
<txtTz>777</txtTz>
<SubFormProximity1_SubForm>
<SubFormProximity1>
<SaleryAvg>10000</SaleryAvg>
</SubFormProximity1>
<SubFormProximity1>
<SaleryAvg>0</SaleryAvg>
</SubFormProximity1>
<SubFormProximity1>
<SaleryAvg>777</SaleryAvg>
<SubFormIncomeSources_SubForm>
<SubFormIncomeSources>
<ddl_Sfs_fWorkStatus>aa</ddl_Sfs_fWorkStatus>
</SubFormIncomeSources>
<SubFormIncomeSources>
<ddl_Sfs_fWorkStatus>bb</ddl_Sfs_fWorkStatus>
</SubFormIncomeSources>
</SubFormIncomeSources_SubForm>
</SubFormProximity1>
</SubFormProximity1_SubForm>
</formFields>
</AP>
此xml转换为:
smsText,PID,lasttNameTxt,txtTz,SaleryAvg,ddl_Sfs_fWorkStatus
,810C005056A14F7F119914B53474BB65,!!!!!!!,777,10000
,810C005056A14F7F119914B53474BB65,!!!!!!!,777,0
,810C005056A14F7F119914B53474BB65,!!!!!!!,777,77,aa
,810C005056A14F7F119914B53474BB65,!!!!!!!,777,77,bb
有没有办法用xslt做到这一点? (请注意,它必须是通用的,且没有通过硬编码写入标签的名称)
我需要将xml导出到excel(csv),所以它看起来像excel导出选项。列名是标签名-仅包含子元素的标签。这些行来自标签值,如果存在重复的标签和不同的值,则需要使用不同的值来复制行。如果内部标签(没有子标签)为空-单元格也将为空
谢谢