c# - 将通用 XML 转换为 CSV(使用 XSLT)
问题描述
我需要通过 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 导出选项。列名称是标签名称 - 不包含儿童的标签。这些行来自标签值,如果有重复的标签和不同的值,则需要复制具有不同值的行。如果内部标签(没有子标签)为空 - 单元格也将为空
谢谢
解决方案
推荐阅读
- winforms - 无法使用新数据更新文本框
- ios - SwiftUI 和 MVVM 设计模式
- oracle - 如何将子查询中的计数 ID 数分配给 plsql 声明的变量“v_count”
- php - 如何在给定模式上拆分字符串,同时将模式包含到拆分字符串的第二部分
- javascript - javaScript number.toString()
- angular - TS中复杂函数参数的解构
- r - R 中的数值错误(Wilcoxon 符号秩检验)
- python - 从出现最多的单词到出现较少的单词对列表进行排序
- angular - 如何嵌套 *ngFor 而不生成额外的 html?
- ios - UIScrollView 内的 UIViewControllers 内的 UIbutton 在触摸时未触发