0
我有兩個源文件用於循環從不同的文件記錄的XPath表達式的ID
<corporations>
<corporation>
<CorporationID>1044293</CorporationID>
<CorporationName>CorporationName1</CorporationName>
<CorporationNumber>CorporationNumber1</CorporationNumber>
<NVBusinessID>NVBusinessID1</NVBusinessID>
<BusinessLicenseExp>2011-04-05T12:12:12</BusinessLicenseExp>
</corporation>
<corporation>
<CorporationID>1044294</CorporationID>
<CorporationName>CorporationName2</CorporationName>
<CorporationNumber>CorporationNumber2</CorporationNumber>
<NVBusinessID>NVBusinessID2</NVBusinessID>
<BusinessLicenseExp>2011-04-05T12:12:12</BusinessLicenseExp>
</corporation>
<corporation>
<CorporationID>1044295</CorporationID>
<CorporationName>CorporationName3</CorporationName>
<CorporationNumber>CorporationNumber3</CorporationNumber>
<NVBusinessID>NVBusinessID3</NVBusinessID>
<BusinessLicenseExp>2011-04-05T12:12:12</BusinessLicenseExp>
</corporation>
</corporations>
和
<corporationActions>
<corporationAction>
<ActionID>5530960</ActionID>
<CorporationID>1044293</CorporationID>
<ActionDate>2008-05-03</ActionDate>
<ActionType>ActionType1</ActionType>
<ActionNotes></ActionNotes>
<DocumentNumber>3</DocumentNumber>
<NumberofPages>1</NumberofPages>
</corporationAction>
<corporationAction>
<ActionID>5530974</ActionID>
<CorporationID>1044294</CorporationID>
<ActionDate>2009-05-03</ActionDate>
<ActionType>ActionType2</ActionType>
<ActionNotes></ActionNotes>
<DocumentNumber>2</DocumentNumber>
<NumberofPages>4</NumberofPages>
</corporationAction>
<corporationAction>
<ActionID>5530975</ActionID>
<CorporationID>1044294</CorporationID>
<ActionDate>2009-05-03</ActionDate>
<ActionType>ActionType3</ActionType>
<ActionNotes></ActionNotes>
<DocumentNumber>2</DocumentNumber>
<NumberofPages>2</NumberofPages>
</corporationAction>
<corporationAction>
<ActionID>5530976</ActionID>
<CorporationID>1044295</CorporationID>
<ActionDate>2011-05-03</ActionDate>
<ActionType>ActionType4</ActionType>
<ActionNotes></ActionNotes>
<DocumentNumber>20110258778-91</DocumentNumber>
<NumberofPages>4</NumberofPages>
</corporationAction>
</corporationActions>
我需要把所有這些記錄(如響應)從1號文件匹配CorporationID並從第二個文件中找到相應的公司ID記錄(它們可以是多個)並以以下格式打印:
<sendCorporationActionDetailsVariable>
<corporationActions>
<ns1:corporationAction>
<ns1:NVBusinessID>NVBusinessID1</ns1:NVBusinessID>
<ns1:CorporationName>CorporationName1</ns1:CorporationName>
<ns1:corporationActionDetails>
<ns1:CorporationID>1044293</ns1:CorporationID>
<ns1:ActionDate>04/05/2008</ns1:ActionDate>
<ns1:ActionType>Articles of Organization1</ns1:ActionType>
</ns1:corporationActionDetails>
</ns1:corporationAction>
<ns1:corporationAction>
<ns1:NVBusinessID>NVBusinessID2</ns1:NVBusinessID>
<ns1:CorporationName>NVBusinessID2</ns1:CorporationName>
<ns1:corporationActionDetails>
<ns1:CorporationID>1044294</ns1:CorporationID>
<ns1:ActionDate>04/05/2011</ns1:ActionDate>
<ns1:ActionType>ActionType2</ns1:ActionType>
</ns1:corporationActionDetails>
</ns1:corporationAction>
<ns1:corporationAction>
<ns1:NVBusinessID>NVBusinessID2</ns1:NVBusinessID>
<ns1:CorporationName>NVBusinessID2</ns1:CorporationName>
<ns1:corporationActionDetails>
<ns1:CorporationID>1044294</ns1:CorporationID>
<ns1:ActionDate>04/05/2010</ns1:ActionDate>
<ns1:ActionType>ActionType3</ns1:ActionType>
</ns1:corporationActionDetails>
</ns1:corporationAction>
<ns1:corporationAction>
<ns1:NVBusinessID>NVBusinessID3</ns1:NVBusinessID>
<ns1:CorporationName>CorporationName3</ns1:CorporationName>
<ns1:corporationActionDetails>
<ns1:CorporationID>1044295</ns1:CorporationID>
<ns1:ActionDate>04/05/2011</ns1:ActionDate>
<ns1:ActionType>ActionType4</ns1:ActionType>
</ns1:corporationActionDetails>
</ns1:corporationAction>
</corporationActions>
</sendCorporationActionDetailsVariable>
下面是響應文件的一部分:
<ns1:corporationAction>
<ns1:NVBusinessID>NVBusinessID2</ns1:NVBusinessID>
<ns1:CorporationName>NVBusinessID2</ns1:CorporationName>
<ns1:corporationActionDetails>
<ns1:CorporationID>1044294</ns1:CorporationID>
<ns1:ActionDate>04/05/2011</ns1:ActionDate>
<ns1:ActionType>ActionType2</ns1:ActionType>
</ns1:corporationActionDetails>
</ns1:corporationAction>
<ns1:corporationAction>
<ns1:NVBusinessID>NVBusinessID2</ns1:NVBusinessID>
<ns1:CorporationName>NVBusinessID2</ns1:CorporationName>
<ns1:corporationActionDetails>
<ns1:CorporationID>1044294</ns1:CorporationID>
<ns1:ActionDate>04/05/2010</ns1:ActionDate>
<ns1:ActionType>ActionType3</ns1:ActionType>
</ns1:corporationActionDetails>
</ns1:corporationAction>
我需要以上是在以下格式
<ns1:corporationAction>
<ns1:NVBusinessID>NVBusinessID2</ns1:NVBusinessID>
<ns1:CorporationName>NVBusinessID2</ns1:CorporationName>
<ns1:corporationActionDetails>
<ns1:CorporationID>1044294</ns1:CorporationID>
<ns1:ActionDate>04/05/2011</ns1:ActionDate>
<ns1:ActionType>ActionType2</ns1:ActionType>
</ns1:corporationActionDetails>
<ns1:corporationActionDetails>
<ns1:CorporationID>1044294</ns1:CorporationID>
<ns1:ActionDate>04/05/2010</ns1:ActionDate>
<ns1:ActionType>ActionType3</ns1:ActionType>
</ns1:corporationActionDetails>
</ns1:corporationAction>
我已經寫了邏輯通過換每個第一文件,並且其循環第二個文件並比較公司ID並打印所需的信息。
<ns1:corporationActions>
<xsl:for-each select="$InvokeCorpActFileReaderOutputVariable.body/ns0:corporationActions/ns0:corporationAction">
<xsl:variable name="corpActPos" select="position()"/>
<xsl:for-each select="/tns:corporations/tns:corporation">
<xsl:variable name="corpPos" select="position()"/>
<xsl:if test="$InvokeCorpActFileReaderOutputVariable.body/ns0:corporationActions/ns0:corporationAction[$corpActPos]/ns0:CorporationID = /tns:corporations/tns:corporation[$corpPos]/tns:CorporationID">
<xsl:variable name="cntCorpId" select="count($InvokeCorpActFileReaderOutputVariable.body/ns0:corporationActions/ns0:corporationAction/ns0:CorporationID)"/>
<ns1:corporationAction>
<ns1:NVBusinessID>
<xsl:value-of select="/tns:corporations/tns:corporation[$corpPos]/tns:NVBusinessID"/>
</ns1:NVBusinessID>
<xsl:for-each select="$InvokeCorpActFileReaderOutputVariable.body/ns0:corporationActions/ns0:corporationAction[$corpActPos]/ns0:CorporationID">
<ns1:corporationActionDetails>
<ns1:CorporationID>
<xsl:value-of select="$InvokeCorpActFileReaderOutputVariable.body/ns0:corporationActions/ns0:corporationAction[$corpActPos]/ns0:CorporationID"/>
</ns1:CorporationID>
<ns1:ActionDate>
<xsl:value-of select="$InvokeCorpActFileReaderOutputVariable.body/ns0:corporationActions/ns0:corporationAction[$corpActPos]/ns0:ActionDate"/>
</ns1:ActionDate>
<ns1:ActionType>
<xsl:value-of select="$InvokeCorpActFileReaderOutputVariable.body/ns0:corporationActions/ns0:corporationAction[$corpActPos]/ns0:ActionType"/>
</ns1:ActionType>
</ns1:corporationActionDetails>
</xsl:for-each>
</ns1:corporationAction>
</xsl:if>
</xsl:for-each>
</xsl:for-each>
</ns1:corporationActions>
取而代之,我需要一個XPATH表達式來照顧這些。
嗨,感謝您的快速幫助 – 2011-05-04 14:48:49
當我在xmlspy中測試了上面的代碼時,我得到了一個空的響應(創建了delted16.xml並放在相同的文件夾中... – 2011-05-04 15:26:01
delete16.xml文件必須與xslt位於同一文件夾中文件。否則,絕對URL必須在'document()'函數中提供。 – 2011-05-04 15:53:19