Получение внутреннего текста из XML-документа вызывает исключение NullReferenceException

#xml #vb.net

#xml #vb.net

Вопрос:

Всякий раз, когда я пытаюсь получить внутренний текст элемента с помощью XML-документа, он выдает исключение NullReferenceException. Вот приведенный ниже код:

     Dim SetDoc As New XmlDocument
    Dim xmlString As String = "<upload><links><bananas>apple</bananas><original>thirteen</original></links></upload>"
    SetDoc.LoadXml(xmlString)
    MsgBox(SetDoc.GetElementById("original").InnerText)
 

То же самое происходит, когда я загружаю точно такой же XML из файла. Есть идеи?

Ответ №1:

Для getElementById требуется атрибут ID, а также схема, определяющая имя атрибута ID.

Вместо этого используйте getElementsByTagName

 Msgbox(SetDoc.GetElementsByTagName("original")(0).Innertext)
 

(Мне пришлось поставить (0), потому что getElementsByTagName возвращает список, а не только один элемент)

Или вы можете использовать свойство Item

 Msgbox(SetDoc.Item("upload").Item("links").Item("original").InnerText)