powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / XML, Помогите устранить error
4 сообщений из 4, страница 1 из 1
XML, Помогите устранить error
    #38608714
Vova_1805
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XML, Помогите устранить error
Среда Visual Basic STUDIO’2010 Professional

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Private Sub XmlIntoAlllTextBoxToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles XmlIntoAlllTextBoxToolStripMenuItem.Click

Dim doc4 As New XmlDocument()
        doc4.Load("test4.xml")
        Dim firstCD As XmlElement = DirectCast(doc4.DocumentElement.FirstChild, XmlElement)
        Dim artist As XmlElement = DirectCast(firstCD.GetElementsByTagName("artist")(0), XmlElement)
        Dim title As XmlElement = DirectCast(firstCD.GetElementsByTagName("title")(0), XmlElement)
        Console.WriteLine("Artist={0}, Title={1}", artist.InnerText, title.InnerText)
        ' вышестоящая строка приводит к error:
[color=red]' Ссылка на объект не указывает на экземпляр объекта. – [/color]
    End Sub


test4.xml имеет вид:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="orders.xsl"?>

<order id="ord123456">
  <customer id="cust0921">
    <first-name>Dare</first-name>
    <last-name>Obasanjo</last-name>
    <address>
      <street>One Microsoft Way</street>
      <city>Redmond</city>
      <state>WA</state>
      <zip>98052</zip>
    </address>
  </customer>
  <items>
    <compact-disc>
      <price>16.95</price>
      <artist>Nelly</artist>
      <title>Nellyville</title>
    </compact-disc>
    <compact-disc>
      <price>17.55</price>
       <artist>Baby D</artist>
       <title>Lil Chopper Toy</title>
    </compact-disc>
  </items>
</order>


Спасибо.
...
Рейтинг: 0 / 0
XML, Помогите устранить error
    #38608736
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vova_1805, свойство DocumentElement ссылается на корневой элемент (order). DocumentElement.FirstChild соотвественно ссылается на элемент customer. Далее ты пытаешься найти элементы artist и title внутри customer. Таких элементов там нет. Отсюда и NullReferenceException.

Чтобы исправить ищем элементы внутри items или внутри документа:
Код: vbnet
1.
2.
3.
4.
doc4.Load("d:\test4.xml")
Dim itemsNode As XmlElement = DirectCast(doc4.GetElementsByTagName("items")(0), XmlElement)
Dim artist As XmlElement = DirectCast(itemsNode.GetElementsByTagName("artist")(0), XmlElement)
Dim title As XmlElement = DirectCast(itemsNode.GetElementsByTagName("title")(0), XmlElement)



Код: vbnet
1.
2.
3.
doc4.Load("d:\test4.xml")
Dim artist As XmlElement = DirectCast(doc4.GetElementsByTagName("artist")(0), XmlElement)
Dim title As XmlElement = DirectCast(doc4.GetElementsByTagName("title")(0), XmlElement)
...
Рейтинг: 0 / 0
XML, Помогите устранить error
    #38609983
Vova_1805
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bazile,
ОК,
Согласно Вашему решению оба варианта
Выводят одно и то же:

Artist=Nelly, Title=Nellyville
Artist=Nelly, Title=Nellyville

Как в цикле извлечь элементы всех узлов, их 2, последний:
Artist= Baby D, Title= Lil Chopper Toy

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
<items>
    <compact-disc>
      <price>16.95</price>
      <artist>Nelly</artist>
      <title>Nellyville</title>
    </compact-disc>
    <compact-disc>
      <price>17.55</price>
       [color=red]<artist>Baby D</artist>
       <title>Lil Chopper Toy</title>[/color]
    </compact-disc>
  </items>



Спасибо
...
Рейтинг: 0 / 0
XML, Помогите устранить error
    #38610008
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vova_1805, сделать цикл по списку который возвращает функция GetElementsByTagName()
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / XML, Помогите устранить error
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]