XML Import into Access需要一个外键

时间:2015-10-16 17:06:35

标签: xml ms-access xslt

我尝试将多个XML文件导入Access并使用转换。我需要外键OrderID显示在Program表上。 这是我的XML:

locate

我正在使用的转换:

    

<Requests>
<Request>
<orderID>12345</orderID>
<FA><![CDATA[Jon Smith]]></FA>
<FA_state>MN</FA_state>
<ship_to>Online Delivery</ship_to>
<prospect><![CDATA[Elvis]]></prospect>
<address><![CDATA[2999 Street]]></address>
<city><![CDATA[Minneapolis]]></city>
<state>MN</state>
<zip>55413</zip>
<ship_dt>10/16/2015 11:45:11</ship_dt>
<delivery_method>Online Delivery</delivery_method>
<programs>
  <program>
    <program_name><![CDATA[Hedge Fund]></program_name>
    <copy_number>56211B87IUQPTCE</copy_number>
  </program>
</programs>
 <file_create_dt>10/16/2015</file_create_dt>
<request_dt>10/15/2015 09:19:50</request_dt>
<employee_id>1102132</employee_id>
</Request>
</Requests>

转换在Program表上创建外键字段,但无法插入任何值。在这一点上,我完全感到困惑。 谢谢!

1 个答案:

答案 0 :(得分:1)

您的模板与program节点匹配,因此XPath表达式../OrderID将选择OrderID元素,该元素是当前program节点的父节点的子节点。但OrderID是#34;祖父母的孩子&#34;。

你应该试试这个,再回到一个额外的水平

<xsl:value-of select="../../orderID"/>