用于将 XML 转换为表的最佳 ETL 工具

Best ETL tool for converting XML to a table

提问人:Tviken 提问时间:8/29/2022 最后编辑:Yitzhak KhabinskyTviken 更新时间:8/30/2022 访问量:187

问:

我需要将 >500 个 XML 转换为可以查询的表。我有用于验证结构的 XSD。我正在考虑使用记事本++来构建文件。这是个好主意吗,如果不是更好?最终目标是使用具有相同列的平面文件或直接用于 SQL

Example #1 XML(英语:XML)

(...)
<Customer>
  <CustomerID>1</CustomerID>
  <Address>
     <Street>John Street</Street>
     <Number>6</Number>
     <Apartment>68</Apartment>
     <City>New York</City>
     <Zip>10068</Zip>
  </Address>
  <Firstname>John</Firstname>
  <LastName>Doe<LastName/>
</Customer>
(...)

Example #2 XML

(...)
<Customer>
  <CustomerID>2</CustomerID>
  <Address>
     <Street>Wall Street</Street>
     <City>New York</City>
  </Address>
  <Firstname>James Smith</Firstname>
</Customer>
(...)

Example #3 XML(英语:XML)

(...)
<n1:Customer>
  <n1:CustomerID>3</n1:CustomerID>
  <n1:Address>
     <n1:Apartment>32</n1:Apartment>
     <n1:City>Chicago</n1:City>
  </n1:Address>
</n1:Customer>
(...)
sql-server xsd xml 分析

评论

0赞 miriamka 8/29/2022
你的RDBMS及其版本是什么?
0赞 Vasya 8/29/2022
可以使用 OPENROWSET 将 xml 导入 SQL Server,然后使用 OPENXML 提取各个列
0赞 Tviken 8/29/2022
@miriamka - SQL Server
0赞 Tviken 8/29/2022
@Vasya - 这是一种可能性,但如果文件中出现轻微的损坏问题(例如未转义的特殊字符),可能会破坏 2 GB/XML 列约束,我担心 SQL Server 不够灵活
0赞 miriamka 8/30/2022
可以使用 SQL Server Integration Services (SSIS)。它有一个内置的 XML 源适配器。

答: 暂无答案