我有大约 10,000 个 XML 文件,需要将它们转换成 SQL 表格。
然而,问题在于每个 XML 文件之间都存在一些差异,因此几乎不可能指定元素名称。例如:
//XML #1
<color>Blue</color>
<height>14.5</height>
<weight>150</weight>
<price>56.78</price>
//XML #2
<color>Red</color>
<distance>98.7</distance>
<height>15.5</height>
<price>56.78</price>
//XML #3: Some of the elements have no value
<color />
<height>14.5</height>
<price>78.11</price>
//XML #4: Elements has parent/child
<color>
<bodyColor>Blue</bodyColor>
<frontColor>Yellow</frontColor>
<backColor>White</backColor>
</color>
<height>14.5</height>
<weight>150</weight>
<price>56.78</price>
通过上面的例子,我应该期望创建一个包含以下列名的表:color, height, weight, price, distance
(因为XML #2具有distance),bodyColor, frontColor, backColor
。
预期输出:
XML# color height weight price distance bodyColor frontColor backColor
1 Blue 14.5 150 56.78 NULL NULL NULL NULL
2 Red 15.5 NULL 56.78 98.7 NULL NULL NULL
3 NULL 14.5 NULL 78.11 NULL NULL NULL NULL
4 NULL 14.5 150 56.78 NULL Blue Yellow White
在这种情况下,NULL或空值都是可以接受的。
这些只是示例,在每个XML文件中至少有500个元素。此外,即使我在这里提到了C#,如果有人能提出更好的方法,请告诉我。