xml - 将 XML 平展为 CSV (VB.NET/C#.NET/XSLT)

标签 xml vb.net xslt

我想知道是否有人可以帮助我将 XML 文件转换为 CSV 格式。我今天一整天都在研究这个问题,虽然我找到了一些简单的例子,但我的问题略有不同。请参阅下面的示例...

XML 示例:

<data>
    <val_A>1</val_A>
    <val_A>2</val_A>
    <val_B>3</val_B>
    <val_B>4</val_B>
    <val_C>
        <val_D>5</val_D>
        <val_D>6</val_D>
    </val_C>
    <val_E>
        <val_F>7</val_F>
        <val_F>8</val_F>
    </val_E>
</data>

预期输出:

val_A,val_B,val_C,val_D,val_E,val_F
1,3,,5,,7
1,3,,5,,8
1,3,,6,,7
1,3,,6,,8
1,4,,5,,7
1,4,,5,,8
1,4,,6,,7
1,4,,6,,8
2,3,,5,,7
2,3,,5,,8
2,3,,6,,7
2,3,,6,,8
2,4,,5,,7
2,4,,5,,8
2,4,,6,,7
2,4,,6,,8

请注意,数据节点有多个不同结构的子节点。是否可以编写 XSL 来扁平化它?

第二个问题是否可以以通用方式编写 XSL,以便它不需要知道节点名称,因此只适用于输入的任何 XML?

任何帮助将不胜感激。

谢谢 大卫

最佳答案

虽然不是基于 XSL 的解决方案,但为了将 XML 文件扁平化为 CSV,您可以查看开源项目 XMLtoCSV,网址为 here 。它可以完成这项工作,而无需根据要求指定 xml 节点名称。

关于xml - 将 XML 平展为 CSV (VB.NET/C#.NET/XSLT),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2203843/

相关文章:

c# - 如何在具有多个数据的 XML 节点中获取单个数据属性

javascript - 为什么在 JavaScript 中读取 XML 文件时得到空结果?

vb.net - 在Visual Studio中修复表单大小

sql-server - 使用 SQL Server 2008 自动生成 VB.NET 表单

xslt - 如何在 xslt 中打印 "&"字符?

XSLT:获取或匹配 base64 编码数据的哈希值

xml - 如何获取所有使用的命名空间的列表?

xml - 如何使用 plsql oracle apex 解析 soap 响应

java - 如何通过 REST (JAX-RS) 在 web.xml 中声明多个包?

javascript - 在窗口中居中动态生成的表格单元格