Как исправить мой оператор if для проверки 3 элементов?
У меня есть оператор if ниже, который не работает так, как я ожидаю. Xml - документ в objXMLInputDoc имеет 3 необязательных элемента, AddPersonContactInformation, PersonTelephoneNumber и PersonEmailAddress
То, что я пытаюсь сделать, - это проверить, существует ли какой-либо из этих 3 элементов, и продолжить. Если все они отсутствуют, оператор if завершится с ошибкой.
Он работает, когда все элементы отсутствуют. Однако, когда присутствует один элемент, оператор if все еще существует как. Как исправить оператор if так, чтобы при наличии одного элемента он не выходил с ошибкой?
Этот пример xml-документа присваивается объекту objXMLInputDoc. Вот как оператор if обращается к нему и его элементам.
Пример xml-документа
<?xml version="1.0" encoding="UTF-8"?> <soap:Envelope> <soap:Body> <AddPersonContactInformation> <PersonAddress> <AddressUSStandard> <AddressAttention>Mr Smith</AddressAttention> </AddressUSStandard> </PersonAddress> <!--<PersonTelephoneNumber telephoneNumberUsageText="Home"> <Telephone>698-478-4612</Telephone> </PersonTelephoneNumber>--> <!--<PersonEmailAddress>Testing@gmail.com</PersonEmailAddress>--> </AddPersonContactInformation> </soap:Body> </soap:Envelope>
Если оператор не работает
If ((objXMLInputDoc.DocumentElement.SelectSingleNode("AddPersonContactInformation/PersonAddress") Is Nothing) And (objXMLInputDoc.DocumentElement.SelectSingleNode("AddPersonContactInformation/PersonTelephoneNumber") Is Nothing) And (objXMLInputDoc.DocumentElement.SelectSingleNode("AddPersonContactInformation/PersonEmailAddress") Is Nothing)) Then 'exit Exit Sub End If
Что я уже пробовал:
If ((objXMLInputDoc.DocumentElement.SelectSingleNode("AddPersonContactInformation/PersonAddress") Is Nothing) And (objXMLInputDoc.DocumentElement.SelectSingleNode("AddPersonContactInformation/PersonTelephoneNumber") Is Nothing) And (objXMLInputDoc.DocumentElement.SelectSingleNode("AddPersonContactInformation/PersonEmailAddress") Is Nothing)) Then 'exit Exit Sub End If
Maciej Los
- Вы уверены? Кажется, что PersonAddress
существует. Таким образом, он не может быть нулевым (ничего)!