I have two conditions for my VB.NET code. There could be many more than one InterimConditionEvent each with or without ExpirationDate child element in XML document.
I need to find ExpirationDate for the last InterimConditionEvent in the XML document.
If the last InterimConditionEvent does not have a ExpirationDate then find the previous InterimConditionEvent with ExpirationDate.
how do I find the preceding InterimConditionEvent before the last one?
My xml
<Integration xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:tsg="http://tsgweb.com" xmlns:IXML="http://tsgweb.com" xmlns:CMCodeQueryHelper="urn:CMCodeQueryHelper">
<Case InternalID="1617095448" ID="12131576" xmlns:user="http://tylertechnologies.com">
<InterimConditionEvent ID="160850209">
<OrderDate>08/14/2015</OrderDate>
<ExpirationDate>08/14/2015</ExpirationDate>
<Deleted>true</Deleted>
<InterimCondition>
<ConditionType Word="DOMNC">Domestic No Contact</ConditionType>
<EffectiveDate>8/14/2015</EffectiveDate>
<EndDate>8/14/2015</EndDate>
</InterimCondition>
</InterimConditionEvent>
<InterimConditionEvent ID="160850210">
<OrderDate>08/14/2015</OrderDate>
<Deleted>true</Deleted>
<InterimCondition>
<ConditionType Word="DOMNC">Domestic No Contact</ConditionType>
<EffectiveDate>8/14/2015</EffectiveDate>
<EndDate>8/14/2000</EndDate>
</InterimCondition>
</InterimConditionEvent>
</Case>
VB.NET Code
If Not objXmlCaseDoc.DocumentElement.SelectSingleNode("Case/InterimConditionEvent[(Deleted='true') and (InterimCondition/ConditionType/@Word='DOMNC')][position()=last()]/ExpirationDate") Is Nothing Then
strOrderEndDate = objXmlCaseDoc.DocumentElement.SelectSingleNode("Case/InterimConditionEvent[(Deleted='true') and (InterimCondition/ConditionType/@Word='DOMNC')][position()=last()]/ExpirationDate").InnerText
Else
strOrderEndDate = objXmlCaseDoc.DocumentElement.SelectSingleNode("Case/InterimConditionEvent[position()=last()]/ExpirationDate").InnerText
End If
How do I change the following Else statement to include and has an ExpirationDate element
strOrderEndDate = objXmlCaseDoc.DocumentElement.SelectSingleNode("Case/InterimConditionEvent/[position()=last()/ExpirationDate").InnerText