使用Binary数据集和Parse转换将XML解析为表格,再输出至Excel格式目标文件,实现Azure Data Factory中XML到Excel的转换。

在Azure Data Factory(ADF)中将XML转换为Excel,需要通过一系列步骤来实现数据的读取、解析和输出。由于ADF本身不直接支持XML作为源格式或生成Excel文件,需借助数据流(Data Flow)功能并配合适当的格式设置。
准备源XML文件
确保你的XML文件存储在Azure Blob Storage或Azure Data Lake Storage中,并可通过ADF连接。XML结构应尽量规则,例如:
这种层级结构便于ADF解析为表格数据。
创建数据集连接XML源
在ADF中创建一个基于Blob或ADLS Gen2的数据集,选择格式为“Delimited Text”,但手动配置如下参数以支持XML:
- File format: Delimited Text
- Column delimiter: {auto detect}
- Escape character: \ (反斜杠)
- Quote character: 留空
- First row as header: False
实际上,更推荐使用Binary 文件 + 数据流中的 Parse 转换来处理XML。
使用数据流解析XML并输出为Excel
ADF数据流支持使用“Parse”转换来处理XML内容:
- 新建一个数据流,在其中添加“Source”并指向你的XML文件(使用Binary dataset)
- 添加“Parse”转换,选择格式为XML
- 定义根节点路径(如
/Employees/Employee) - 系统会自动提取子元素作为字段(Name, Age等)
- 连接“Sink”目标,输出到新的数据集
对于Excel输出:
- 创建目标数据集,类型选择“Excel”
- 指定存储位置和文件名(如
output.xlsx) - 启用“First row as header”以包含列名
- 确保每张Sheet中数据是扁平表格结构
创建管道并运行
新建一个管道:
- 拖入“Data Flow”活动,选择你配置好的数据流
- 设置触发器(立即运行或定时执行)
- 调试运行并检查输出文件是否生成
- 验证Excel文件内容是否正确包含所有记录
注意:如果XML嵌套复杂,可能需要先在数据流中使用“Flatten”转换展平结构。
基本上就这些。关键在于使用Binary源 + Parse转换处理XML,再输出到Excel格式的目标。虽然步骤稍多,但能可靠完成转换任务。










