Member 11403304 Ответов: 1

Как установить переменную со значением 5 на основе условия в VB.NET-что?


Используя следующий xml-документ, мне нужна помощь в vb.net-да. Я хотел бы установить переменную (InCustody), чтобы она имела значение = 5, когда /[JuvenileCitationDocument или CitationDocument]/Citation/Citee/InCustodyIndicator = True
Как мне это сделать?
Я рассматриваю возможность помещения xml-документа в объект, например objXMLInputDoc. Этот документ (CitationDocumentBatch) будет иметь или может иметь много CitationDocuments и / или JuvenileCitationDocuments.
Затем я изучу этот документ для каждого документа CitationDocument и / или JuvenileCitationDocument.
Когда я нахожу InCustodyIndicator = true (дочерний элемент) CitationDocument или JuvenileCitationDocument, то я хочу установить переменную, чтобы она имела значение 5.
Я буду использовать это значение позже.

<CitationDocumentBatch>
	<CitationDocument>
		<Incident>
			<Citee>
				<InCustodyIndicator>true</InCustodyIndicator>
			</Citee>
		</Citation>
		</CitationDocument

	<CitationDocumentBatch>
	<JuvenileCitationDocument >
		<Incident>
			<Citee>
				<InCustodyIndicator>true</InCustodyIndicator>
			</Citee>
		</Citation>
	</JuvenileCitationDocument

</CitationDocumentBatch>


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

Я рассматриваю возможность помещения xml-документа в объект, например objXMLInputDoc. Этот документ (CitationDocumentBatch) будет иметь или может иметь много CitationDocuments и / или JuvenileCitationDocuments.
Затем я изучу этот документ для каждого документа CitationDocument и / или JuvenileCitationDocument.
Когда я нахожу InCustodyIndicator = true (дочерний элемент) CitationDocument или JuvenileCitationDocument, то я хочу установить переменную, чтобы она имела значение 5.
Я буду использовать это значение позже.

1 Ответов

Рейтинг:
1

Gerry Schmitz

После того как вы создадите "классы" для вашего XML (см. VS XML paste special), вы можете использовать запрос LINQ:

CitationDocumentBatch batch = ...;

bool inCustody = 
   batch.CitationDocument.Any( cd => cd.Incident.Citee.InCustodyIndicator ) ||
   batch.JuvenileCitationDocument.Any( jd => jd.Incident.Citee.InCustodyIndicator );

If ( inCustody ) { // etc. }