我有一個包含多個記錄的XML數據集,並且每個記錄可以包含1到具有相同標識符組多個子元件(參照文件E04元素)LINQ爲XML的子集
<Record>
<E01>
<E01_01>9-542</E01_01>
<E01_02>Ortivus</E01_02>
<E01_03>Sweet-Billing & Field Data</E01_03>
<E01_04>5.6.020120130</E01_04>
</E01>
<E02>
<E02_01>123</E02_01>
<E02_02>-20</E02_02>
<E02_03>F12006149</E02_03>
<E02_04>30</E02_04>
<E02_05>75</E02_05>
<E02_06>105</E02_06>
<E02_07>150</E02_07>
<E02_08>225</E02_08>
<E02_09>290</E02_09>
<E02_10>360</E02_10>
<E02_11>-20</E02_11>
<E02_12>447</E02_12>
<E02_13>-20</E02_13>
<E02_14>-20</E02_14>
<E02_17>2.3</E02_17>
<E02_18>3</E02_18>
<E02_19>3.7</E02_19>
</E02>
<E03>
<E03_01>445</E03_01>
<E03_02>-20</E03_02>
<E03_03>-25</E03_03>
</E03>
<E04>
<E04_01>155306</E04_01>
<E04_02>580</E04_02>
<E04_03>6120</E04_03>
</E04>
<E04>
<E04_01>032519</E04_01>
<E04_02>585</E04_02>
<E04_03>6090</E04_03>
</E04>
<E04>
<E04_01>083589</E04_01>
<E04_02>590</E04_02>
<E04_03>6090</E04_03>
</E04>
</Record>
我的提取物VB。 NET代碼是這樣的(看下面IncidentCrew)
Dim ns As XNamespace = doc.Root.Name.[Namespace] Tripsheets = _
(From record In doc.Descendants(ns + "Record") _
Select New TripSheet() With _
{ _
.PatientCareNumber = record.Descendants(ns + "E01_01").FirstOrDefault, _
.IncidentCrew = (From E0401 In doc.Descendants(ns + "E04") _
Select New Crew() With _
{ _
.CrewID = cr.Descendants(ns + "E04_01").FirstOrDefault _
}).ToArray, _
.MileageOut = record.Descendants(ns + "E02_16").FirstOrDefault, _
.MileageAtScene = record.Descendants(ns + "E02_17").FirstOrDefault, _
.MileageAtDestination = record.Descendants(ns+"E02_18").FirstOrDefault, _
.MileageInQuarters = record.Descendants(ns + "E02_19").FirstOrDefault, _
}).ToList
我的問題在這裏的是,這個代碼讀取XML文件到名爲IncidentCrew數組每E04_01值。如果有200條記錄,那麼我將獲得名爲IncidentCrew的每個類中的所有200條記錄的所有E01_01條目。我只想將與每個Record中唯一的一個PatientCareNumber E01_01相關聯的值讀入名爲IncidentCrew的類中,該類被定義爲TripSheet類的一部分。類如下所示
Public Class TripSheet
Public PatientCareNumber As String
Public TimeDispatched As String
Public TimeEnroute As String
Public TimeAtScene As String
Public TimeDepartScene As String
Public TimeArriveFacility As String
Public TimeAvailable As String
Public TimeInQuarters As String
Public MileageOut As String
Public MileageAtScene As String
Public MileageAtDestination As String
Public MileageInQuarters As String
Public IncidentCrew As Crew()
End Class
Public Class Crew
Public CrewID As String
End Class
有人可以幫我在這裏。我對LINQ相當陌生,而且我看不到我的代碼中有什麼錯誤或缺失。