将 XML 数据导入 Access 时出现问题
Issues with importing XML Data into Access
我正在寻找将 XML 数据导入 Access 数据库的方法。目前我正在尝试通过 Access 中的 XML 导入选项卡导入文件,但不幸的是这只是 returns 3 个空白表。这是我第一次使用 XML,所以我不太了解将此类数据导入数据库的标准过程。我读到文件需要经过 "process" 才能插入任何数据库,这通常需要一些编程技能才能做到这一点。当我过去用谷歌搜索这个时,我得到了很多关于使用 Perl 解析文件的文章,但没有找到很多具体的例子来告诉我如何做到这一点。
我想我的问题是,我需要做什么?是否需要创建标准代码块才能生成文件 "Access acceptable"?在这一点上,我真的愿意做任何事。
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 文件,遍历节点以提取数据,或其他数据处理程序。您基本上需要做的是:
- 剖析 XML 文件以评估其整体结构或
您需要的部件
- 编码一个transform/parser解得到
xml 数据的表格格式。我更喜欢 xsl transformation
- Convert to raw xml 转换 xml 或 csv/txt/xlsx 并导入
使用权。在 Access VBA 中,您可以使用:
Application.ImportXML 和
Application.TransformXML and VBA's general Load XML.
希望对您有所帮助。祝你好运!
我正在寻找将 XML 数据导入 Access 数据库的方法。目前我正在尝试通过 Access 中的 XML 导入选项卡导入文件,但不幸的是这只是 returns 3 个空白表。这是我第一次使用 XML,所以我不太了解将此类数据导入数据库的标准过程。我读到文件需要经过 "process" 才能插入任何数据库,这通常需要一些编程技能才能做到这一点。当我过去用谷歌搜索这个时,我得到了很多关于使用 Perl 解析文件的文章,但没有找到很多具体的例子来告诉我如何做到这一点。
我想我的问题是,我需要做什么?是否需要创建标准代码块才能生成文件 "Access acceptable"?在这一点上,我真的愿意做任何事。
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 文件,遍历节点以提取数据,或其他数据处理程序。您基本上需要做的是:
- 剖析 XML 文件以评估其整体结构或 您需要的部件
- 编码一个transform/parser解得到 xml 数据的表格格式。我更喜欢 xsl transformation
- Convert to raw xml 转换 xml 或 csv/txt/xlsx 并导入 使用权。在 Access VBA 中,您可以使用: Application.ImportXML 和 Application.TransformXML and VBA's general Load XML.
希望对您有所帮助。祝你好运!