XML预告片值解析并存储在SSIS中的变量中

时间:2018-11-19 11:49:06

标签: ssis

我有一个带有以下示例内容的xml文件,

如何从尾部节点中获取值:FileCreationDate,Recordcount并存储到SSIS中的变量中。

没有脚本任务是否可能?

有人可以帮助您解决所涉及的步骤吗?

<ACOParticipantData xmlns:xsi="">
  <Header>
    <HeaderCode>HDR_PFPRVDR</HeaderCode>
    <FileCreationDate>20160101</FileCreationDate>
    <ACOProgCode>21</ACOProgCode>
  </Header>
  <Participants>
    <Participant>
      <ACO_ID>V199</ACO_ID>
      <TIN>123456789</TIN>
      <Old_TIN>987654321</Old_TIN>
      <Org_NPI>1234567890</Org_NPI>
      <Ind_NPI>1234567890</Ind_NPI>
      <CCN>123456</CCN>
      <PRG_Eff_Dt>20160101</PRG_Eff_Dt>
      <PRG_Term_Dt>20161231</PRG_Term_Dt>
    </Participant>
  </Participants>
  <Trailer>
    <TrailerCode>TRL_PFPRVDR</TrailerCode>
    <FileCreationDate>20160101</FileCreationDate>
    <RecordCount>1</RecordCount>
  </Trailer>
</ACOParticipantData>

1 个答案:

答案 0 :(得分:0)

XML任务可用于此目的。当然,将需要根据您的环境和其他类似因素来调整一些细节,但是可以按以下方式获取值。对于每个变量和XPath,都需要重复下面的XML任务,如果可能的话,我建议将XML文件加载到表中,然后使用T_SQL XML函数(即VALUE)进行查询并返回所有变量只需一次操作。

  • 使用XPATH OpertationTypeSourceType的文件连接以及XML文件作为Source字段创建XML任务。
  • 在“任务编辑器”的“输出”部分中,将SaveOperationResult设置为True,将DestinationType设置为Variable,然后在Destination字段中添加将保存相应XML值的变量。 / li>
  • 第二个操作数部分是配置源语句的位置。对于SecondOperandType字段,选择“直接输入”并输入XML XPath查询,或者选择“变量”选项并选择一个保存该查询的变量。
  • 要使用动态设置的XPath来将SecondOperationType设置为直接输入,并在“表达式”页面上添加将保存SecondOperand表达式的XPath的变量。
  • 对于XPath选项,将XPathOperation设置为“值”以从必要的节点检索文本。