我正在寻找一种将XML数据导入Access数据库的方法。目前我尝试通过Access中的XML导入选项卡导入文件,但不幸的是,这只返回3个空白表。这是我第一次使用XML,所以我不太了解将此类数据导入数据库的标准过程。我已经读过这些文件需要通过"过程"在将它们插入任何数据库之前,这通常需要一些编程技巧才能这样做。当我过去用谷歌搜索过这篇文章时,我会收到很多关于使用Perl来解析文件的文章,但是还没有找到很多具体的例子告诉我如何做到这一点。
我想我的问题是,我需要做什么?我需要创建一个标准的代码块才能使文件"访问可接受"?我现在非常愿意做任何事情。
答案 0 :(得分:1)
XML数据是一种自由格式的数据类型,其中节点或元素,属性,标签可以以任何格式定位。只要遵循标记规则,设计类型仅限于设计者的想象力。由于这种性质,必须转换复杂的XML数据以适应数据库的二维结构。
访问表,Excel电子表格,CSV文件,R数据框架,SAS数据集需要行和列的表格格式:
Field1 Field2 Field3
row1 data data data
row2 data data data
在XML中,这相当于:
<row1>
<field1>data</field1>
<field2>data</field2>
<field3>data</field3>
</row1>
<row2>
<field1>data</field1>
<field2>data</field2>
<field3>data</field3>
</row2>
这与html表非常相似:
<table>
<tr>
<th>Header1</th>
<th>Header2</th>
<th>Header3</th>
</tr>
<tr>
<td>Data1</td>
<td>Data2</td>
<td>Data3</td>
</tr>
</table>
导入后看到空白表的原因是因为XML的结构没有充分地与二维行和列结构对齐,或者XML数据驻留在属性而不是元素中。您可能有多个嵌套树结构。元素中列出的数据:<item>data</item>
和属性:<item attribute="data"></item>
。还有更多的细微差别。注意:Access只能导入element-centric而不是以属性为中心的xml。
几乎所有编程语言(Python,R,PHP,C,C ++,C#,Java,Ruby,甚至Perl和VBA)都有一个包,模块,库等来解析和转换xml文件,跨节点迭代提取数据或其他数据处理程序。你基本上需要做的是:
我希望这会有所帮助。祝你好运!