2
下面是由不同業務部門提供的XML文件的精簡版本。我需要得到的價值是DriverInputSetGoodStudent。如何使用XSLT定位xml文檔中的特定節點?
這是我很接近這一點:
//session/data/policy/line/child::vehicle[position()=1]
這讓我在XML中的第一輛車,所以後來我就知道車輛的基礎上,GoverningDriverIdInfo /項目Id司機的ID 。然後,我需要將該ID與驅動程序節點的ID屬性相匹配。然後獲取DriverInputSetGoodStudent節點的值。
<session>
<data>
<policy>
<line>
<driver id="d4A5D51CEC4C14D3C9754A59AE09EFF9B" deleted="0" description="OH Edge, Teresa/321654654">
<DriverTrainingInd>N</DriverTrainingInd>
<DriverInputGoodStudent>N</DriverInputGoodStudent>
<DriverInputSetDriverTraining>0</DriverInputSetDriverTraining>
<DriverInputSetGoodStudent>0</DriverInputSetGoodStudent>
<DriverInputAccidentPreventionTrainingDate>2011-05-05</DriverInputAccidentPreventionTrainingDate>
<AccidentPreventionCourse>0</AccidentPreventionCourse>
<AccidentPreventionCoursePreviousValue>0</AccidentPreventionCoursePreviousValue>
<DriverTrainingPrevValue>0</DriverTrainingPrevValue>
<DriverOutputGoodStudent>No</DriverOutputGoodStudent>
</driver>
<vehicle id="v1CFDF4006D7C41D8B8C8A510E4C5C2E1" deleted="0" description="TYTA CAMRY BASE/LE/SE/XLE, 2010, 4T1BF3EK3AU522985">
<VehicleInputPrimaryDriver>d4A5D51CEC4C14D3C9754A59AE09EFF9B</VehicleInputPrimaryDriver>
<GoverningDriverIdInfo>
<ItemIdList>d4A5D51CEC4C14D3C9754A59AE09EFF9B</ItemIdList>
<ItemId>d4A5D51CEC4C14D3C9754A59AE09EFF9B</ItemId>
</GoverningDriverIdInfo>
<PrimaryDriverID>d4A5D51CEC4C14D3C9754A59AE09EFF9B</PrimaryDriverID>
<VehicleGoodStudent>No</VehicleGoodStudent>
<VehicleDriverTraining>No</VehicleDriverTraining>
</vehicle>
<line>
<policy>
<data>
<session>
我看到的代碼沒有在粘貼完全正確,也未在代碼塊中出現的「結束會話」標籤。在此先感謝您的幫助。
好的。有沒有什麼辦法可以將兩部分組合成一行而不使用變量?我需要對4輛車進行檢查,我希望能夠完成這一點,而無需爲一個部分創建8個變量。我也會有3或4個部分來做到這一點。 – mmarceau
謝謝,這是做到了。 – mmarceau
@mmarceau不客氣:) – FailedDev