Member 11403304 Ответов: 1

Как сделать так, чтобы для каждого оператора возвращались правильные значения для XML?


У меня есть xml - документ, который я использую для каждого из них, чтобы перебирать партии. Мне нужно получить партийный номер и дату рождения. Я получаю partyID, но дата рождения показывает 0001-01-01T00:00:00.

XML-документ
<Integration>
	<Case>
		<CaseEvent Date="06/14/2010" ID="252945068">
			<PartyID>9919636</PartyID>
		</CaseEvent>
		<CaseParty ID="9919636">
			<DateOfBirth>04/27/1910</DateOfBirth>
		</CaseParty>
	</Case>
	<IntegrationConditions>
		<IntegrationCondition Word="TAWQ" Description="Inserts">
			<NotificationEvent notificationType="TAWQ" elementKey="252945068">InsertSomething</NotificationEvent>
		</IntegrationCondition>
	</IntegrationConditions>
</Integration>


Ожидаемый результат XML
<InsertPWBRorAOS xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="">
	<RelatedParties>
		<CaseParty>
			<DateOfBirth>04/27/1910</DateOfBirth>
			<PartyId>9919636</PartyId>
		</CaseParty>
	</RelatedParties>
</InsertPWBRorAOS>


Неправильный результат в настоящее время
<InsertPWBRorAOS xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="">
	<RelatedParties>
		<CaseParty>
			<DateOfBirth>0001-01-01T00:00:00</DateOfBirth>
			<PartyId>9919636</PartyId>
		</CaseParty>
	</RelatedParties>
</InsertPWBRorAOS>


Что я уже пробовал:

Мой VB.Чистый код

Public Shared Sub ProcessInsertPWBRorAOS(ByRef aobjXmlInputDoc As System.Xml.XmlDocument, ByVal aobjxmlNotificationEventNode As XmlNode)
Dim objInsertPWBRorAOS As MMGService.InsertPWBRorAOS = New MMGService.InsertPWBRorAOS
Dim objCaseParty As MMGService.CaseParty
Dim objxmlEventPartyIDNode As XmlNode
Dim strEventId As String
strEventId = aobjxmlNotificationEventNode.SelectSingleNode("@elementKey").InnerText

objCaseParty = New MMGService.CaseParty()
'Loop through all PartyIDNodes in CaseEvent with ID equal to NotificationEvent's elementKey 
For Each objxmlEventPartyIDNode In aobjXmlInputDoc.DocumentElement.SelectNodes("Case/CaseEvent[@ID=" + strEventId + "]/PartyID")
	strPartyID = objxmlEventPartyIDNode.InnerText
    objCaseParty.PartyId = strPartyID
    'DateofBirth
    objCaseParty.DateOfBirth = dtmDateOfBirth
    objInsertPWBRorAOS.RelatedParties(i) = objCaseParty
    i += 1
Next
End Sub

1 Ответов

Рейтинг:
9

MadMyche

Глядя сквозь петлю я не мог найти где именно dtmDateOfBirth определяемый:

For Each objxmlEventPartyIDNode In aobjXmlInputDoc.DocumentElement.SelectNodes...
   strPartyID = objxmlEventPartyIDNode.InnerText    ' get from original
   objCaseParty.PartyId = strPartyID                ' set in the new

   'DateofBirth
   objCaseParty.DateOfBirth = dtmDateOfBirth        ' set in the new
    i += 1
Next