我有下面的示例xml數據。該場景是當type =#時,productNo元素必須與類型元素值和數字元素值連接。串聯的輸出必須與該orderItem記錄中的每個serialNumber元素連接。用XSLT連接多個重複元素
最終要求是: 1.當type元素是'#'時,那麼每個type元素和數字元素的productNo級聯應與每個orderItem記錄中的每個serialNumber元素連接。 2.當類型元素沒有「#」然後productNo應在每個OrderItem的記錄中的每個元素SERIALNUMBER串接
<orderItems>
<orderItem itemNo="0100" sapItemNo="10">
<productNo>WK302EA</productNo>
<itemShipDetails>
<itemShipDetail>
<serialNumber>CZC132BM61</serialNumber>
</itemShipDetail>
<itemShipDetail>
<serialNumber>CZC1331JR2</serialNumber>
</itemShipDetail>
<itemShipDetail>
<serialNumber>CZC1331JR3</serialNumber>
</itemShipDetail>
</itemShipDetails>
<options>
<option ln="01" type="" sapItemNo="10">
<number>WK302EA</number>
</option>
<option ln="02" type="#" sapItemNo="10">
<number>ABN</number>
</option>
<option ln="03" type="#" sapItemNo="10">
<number>ASZ</number>
</option>
</options>
</orderItem>
<orderItem itemNo="0200" sapItemNo="20">
<productNo>VY623AA</productNo>
<itemShipDetails>
<itemShipDetail>
<serialNumber>CN3129300D</serialNumber>
</itemShipDetail>
<itemShipDetail>
<serialNumber>CN3129300Z</serialNumber>
</itemShipDetail>
<itemShipDetail>
<serialNumber>CN3129306S</serialNumber>
</itemShipDetail>
<itemShipDetail>
<serialNumber>CN312930LM</serialNumber>
</itemShipDetail>
</itemShipDetails>
<options>
<option ln="04" type="" sapItemNo="20">
<number>VY623AA</number>
</option>
<option ln="05" type="#" sapItemNo="20">
<number>ABN</number>
</option>
</options>
</orderItem>
<orderItem itemNo="0300" sapItemNo="30">
<productNo>VY623AS</productNo>
<itemShipDetails>
<itemShipDetail>
<serialNumber>CN3129300X</serialNumber>
</itemShipDetail>
<itemShipDetail>
<serialNumber>CN3129300P</serialNumber>
</itemShipDetail>
</itemShipDetails>
<options>
<option ln="06" type="" sapItemNo="30">
<number>VY623AS</number>
</option>
<option ln="07" type="M" sapItemNo="30">
<number>ABC</number>
</option>
</options>
</orderItem>
</orderItems>
預期輸出是:
<orders>
<serialNO>WK302EA#ABN|CZC132BM61</serialNO>
<serialNO>WK302EA#ABN|CZC1331JR2</serialNO>
<serialNO>WK302EA#ABN|CZC1331JR3</serialNO>
<serialNO>WK302EA#ASZ|CZC132BM61</serialNO>
<serialNO>WK302EA#ASZ|CZC1331JR2</serialNO>
<serialNO>WK302EA#ASZ|CZC1331JR3</serialNO>
<serialNO>VY623AA#ABN|CN3129300D</serialNO>
<serialNO>VY623AA#ABN|CN3129300Z</serialNO>
<serialNO>VY623AA#ABN|CN3129306S</serialNO>
<serialNO>VY623AA#ABN|CN312930LM</serialNO>
<serialNO>VY623AS|CN3129300X</serialNO>
<serialNO>VY623AS|CN3129300P</serialNO>
</orders>
代碼不是在所有 – user1658369
這個工作是我所得到的:' CZC132BM61CZC1331JR2CZC1331JR3CZC132BM61CZC1331JR2CZC1331JR3CN3129300DCN3129300ZCN3129306SCN312930LMCN3129300XCN3129300P ' - 請確認您的代碼 –
mousio
修復了來自searialNumber - > serialNumber的最後一個模板中的小錯字。 – Joep