Как исправить ссылку на объект, не установленную на экземпляр ошибки объекта?
Я пытаюсь получить вывод из xml-документа,и все работает. Однако когда я комментирую (удаляю элемент слова SecurityGroup), для этого элемента я получаю ссылку на объект, не установленную на экземпляр объекта.
Мой xml-документ
<pre lang="xml"><pre><Integration> <Case> <CaseCategory>FAM</CaseCategory> <CaseType Word="DMA">Domestic Abuse</CaseType> <BaseCaseType>Civil Domestic Violence</BaseCaseType> <CaseTitle>X v/s Y</CaseTitle> <!--<SecurityGroup Word="CONFPOR">Conf - Protective Order</SecurityGroup>--> <Court> <NodeID>131</NodeID> </Court> </Case> </Integration>
Мой vb.net код
Dim strCaseTypeCodeWord As String Dim strBaseCaseType As String Dim strCaseSecurityGroupCodeWord As String Dim intNodeID As Integer strCaseTypeCodeWord = aobjXMLInputDoc.DocumentElement.SelectSingleNode("Case/CaseType/@Word").InnerText strBaseCaseType = aobjXMLInputDoc.DocumentElement.SelectSingleNode("Case/BaseCaseType").InnerText strCaseSecurityGroupCodeWord = aobjXMLInputDoc.DocumentElement.SelectSingleNode("Case/Case/SecurityGroup/@Word").InnerText intNodeID = CInt(aobjXMLInputDoc.DocumentElement.SelectSingleNode("Case/Assignment/Court/NodeID").InnerText)
Результат
strCaseTypeCodeWord = DMA
strBaseCaseType = гражданское насилие в семье
strCaseSecurityGroupCodeWord здесь я получаю ссылку на объект, не заданную на экземпляр объекта. потому что я прокомментировал/удалил этот элемент в xml-документе. Это необязательный элемент.
Что мне нужно сделать, чтобы vb.net код будет работать даже тогда, когда эта группа безопасности не существует в xml-документе?
Что я уже пробовал:
Dim strCaseTypeCodeWord As String Dim strBaseCaseType As String Dim strCaseSecurityGroupCodeWord As String Dim intNodeID As Integer strCaseTypeCodeWord = aobjXMLInputDoc.DocumentElement.SelectSingleNode("Case/CaseType/@Word").InnerText strBaseCaseType = aobjXMLInputDoc.DocumentElement.SelectSingleNode("Case/BaseCaseType").InnerText strCaseSecurityGroupCodeWord = aobjXMLInputDoc.DocumentElement.SelectSingleNode("Case/Case/SecurityGroup/@Word").InnerText intNodeID = CInt(aobjXMLInputDoc.DocumentElement.SelectSingleNode("Case/Assignment/Court/NodeID").InnerText)
[no name]
Хорошо, эта ошибка происходит по той же причине, что и все во Вселенной, и вы исправляете ее точно так же, как и все остальные. Простой поиск в google сказал бы вам об этом.