【发布时间】:2017-11-22 01:37:18
【问题描述】:
我是 XSLT 和 XML 的新手,所以如果我的术语不正确,请原谅。我有一个 XML 文件,它是从 EDI 文件转换而来的,特别是我目前正在尝试映射到 SQL 表的 835。在将 EDI 文件转换为 XML 后,我正在使用 XSLT 以加载它。这是 XML 的 sn-p,因此您可以看到它的外观,(注意,当前加载在一行中,如我知道我必须循环才能插入所有行。我只是不了解节点和子节点(?)的正确结构,当我有诸如 LOOP_2000 之类的节点时,具有诸如 LOOP_2100 之类的子节点,以及一个子节点被命名为 LOOP_2110)
<!--LOOP 2000 Columns-->
<!--LX Columns-->
<_2000_LX01_AssignedNumber>
<xsl:value-of
select="transaction/LOOP_2000/LX/LX01" />
</_2000_LX01_AssignedNumber>
<!--LOOP 2000 Columns-->
<!--CAS Columns-->
<_2100_CAS01_ClaimAdjustmentGroupCode>
<xsl:value-of
select="transaction/LOOP_2000/LOOP_2100/CAS/CAS01" />
</_2100_CAS01_ClaimAdjustmentGroupCode>
<_2100_CAS02_AdjustmentReasonCode>
<xsl:value-of
select="transaction/LOOP_2000/LOOP_2100/CAS/CAS02" />
</_2100_CAS02_AdjustmentReasonCode>
<_2100_CAS03_AdjustmentAmount>
<xsl:value-of
select="transaction/LOOP_2000/LOOP_2100/CAS/CAS03" />
</_2100_CAS03_AdjustmentAmount>
我知道我可以使用类似的东西,但是当我这样做时它会失败或继续只插入一行。很遗憾,由于 HIPAA,我无法共享 XML 文件本身,但我希望我已经提供了足够的信息。
TLDR:我需要帮助循环遍历 XML 文件中的每个节点,以将所有数据插入到 SQL 表中的单独行中。
【问题讨论】:
-
请发minimal reproducible example - 包括输入和预期输出。
-
由于如上所述的 HIPAA,这是我可以包含的尽可能多的内容。最终输出只是从每个节点中获取第一个值,而不是遍历每个节点来为完整的文件数据插入新行。