Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Работа с данными

Страница: 1 |

 

  Вопрос: Работа с XML и подключение объекта XMLDOM ? Добавлено: 17.01.06 13:23  

Автор вопроса:  Glyckmen
В интернете нашел информацию:
Использование специального объекта XML в VB/VBA, называемого XMLDOM или DOMDocument (DOM - Document Object Model). Работа с этим объектом выполняется с помощью библиотеки Microsoft XML 2.0 (MSXML.DLL), на которую нужно сделать ссылку в окне Reference. (Обратите внимание: на моем компьютере в списке ссылок эта библиотека в начальный момент имеет индекс 1.0, а уже после ее подключения меняет его на 2.0.)

Так вот я не могу подключить данный объект к своему проекту, в компонентах проекта данного объекта нет, если я его нахожу вручную он появляется но при нажатии на кнопку "Применить" VB6 пишет что "Немогу загрузить компонент", как установить этот компонент что-бы VB6 его видел.
Где найти информацию о том как работать с этим компонентом, меня интересует как взять данные из файла и как их сохранять в файл. (Желательно пример без использования БД)

Ответить

  Ответы Всего ответов: 4  

Номер ответа: 1
Автор ответа:
 Ujin



Вопросов: 0
Ответов: 3
 Профиль | | #1 Добавлено: 16.07.06 21:13
На счет подключения не помогу. С VB6 уже месяца 3 не сидел. А рабта скорее всего такаяже, как и в VB.NET 2005. Если тебя интересует только запись в файл из XMLDocument и загрузка данных в него, так это просто: методы
Load(<FileName|URL|XMLText>;)
и
Save(<FileName>;)
.
Обрати внимание: если используешь URL, то можешь ссылаться как на *.xml, так и на *.php, *.aspx и даже просто .html, лижбы содержание страници было соответсвующее.

если методы такие в VB6 есть пиши мне на мыло, расскажу как пользоваться по полной XMLDocument

PS
("<>" - обязательный параметр, "x|y" - либо либо)

Ответить

Номер ответа: 2
Автор ответа:
 AndreyMp



ICQ: 237822510 

Вопросов: 28
Ответов: 1182
 Профиль | | #2 Добавлено: 17.07.06 10:47
В референсах подключаешь соответствующую библу и работаешь. Microsoft XML .....

Ответить

Номер ответа: 3
Автор ответа:
 Ujin



Вопросов: 0
Ответов: 3
 Профиль | | #3 Добавлено: 19.07.06 20:26
И впрямь. Тормазнул сдецел, бывает.

А так, DOMDocument в VB6 есть ничто иное как XMLDocument из пространсва имен XML в .NET, работа аналогичная. Если кому надо, расскажу.

Ответить

Номер ответа: 4
Автор ответа:
 Ujin



Вопросов: 0
Ответов: 3
 Профиль | | #4 Добавлено: 19.07.06 22:21
Пример работы с DOMDocument

Private WithEvents xmlDoc As MSXML2.DOMDocument30
Private XMLWrite As New MSXML2.MXXMLWriter

Private Sub Form_Load()
    Dim sInfo As String
    Dim i As Integer
    
    Set xmlDoc = New DOMDocument
    If xmlDoc.Load("c:\my.xml";) Then
        sInfo = "Атрибуты корнеаого элеменнта " & xmlDoc.documentElement.nodeName & ":" & vbCrLf
        sInfo = sInfo & vbTab & "Time = " & xmlDoc.documentElement.getAttribute("Time";) & vbCrLf
        sInfo = sInfo & vbTab & "IDTest = " & xmlDoc.documentElement.getAttribute("IDTest";) & vbCrLf
        sInfo = sInfo & vbTab & "IDMy = " & xmlDoc.documentElement.getAttribute("IDMy";) & vbCrLf
        sInfo = sInfo & vbTab & "QuestCount = " & xmlDoc.documentElement.getAttribute("QuestCount";) & vbCrLf
        sInfo = sInfo & "Атрибуты дочернего эллемента " & xmlDoc.documentElement.childNodes(2).nodeName & ":" & vbCrLf
        sInfo = sInfo & vbTab & "Кол-во атрибутов = " & CStr(xmlDoc.documentElement.childNodes(2).Attributes.length) & vbCrLf
        For i = 0 To xmlDoc.documentElement.childNodes(2).Attributes.length - 1
            sInfo = sInfo & vbTab & vbTab & xmlDoc.documentElement.childNodes(2).Attributes(i).nodeName & " = " & xmlDoc.documentElement.childNodes(2).Attributes(i).Text & vbCrLf
        Next
        sInfo = sInfo & vbTab & "Кол-во дочерних эллементов = " & CStr(xmlDoc.documentElement.childNodes(2).childNodes.length) & vbCrLf
        sInfo = sInfo & vbTab & "Значение 4 дочернего эллемента (" & xmlDoc.documentElement.childNodes(2).childNodes(4).nodeName & ";) = " & xmlDoc.documentElement.childNodes(2).childNodes(4).Text
        Text1.Text = sInfo
        'XMLDoc.documentElement.setAttribute "Time", 2
    Else
        MsgBox "Неудается загрузить ресурс", vbCritical, "Ошибка"
    End If
    Set xmlDoc = Nothing
    
End Sub

К примеру возьми следующий XML файл:


<?xml version="1.0" encoding="windows-1251" standalone="no"?>
<Questes Time="0" IDTest="0" IDMy="0" QuestCount="4">
  <Quest0 NQuest="0" Text="v" NAnswer="0">
    <Answer1>1</Answer1>
    <Answer2>2</Answer2>
    <Answer3>3</Answer3>
    <Answer4>4</Answer4>
    <Answer5>5</Answer5>
  </Quest0>
  <Quest1 NQuest="1" Text="q" NAnswer="0">
    <Answer1>6</Answer1>
    <Answer2>7</Answer2>
    <Answer3>8</Answer3>
    <Answer4>9</Answer4>
    <Answer5>0</Answer5>
  </Quest1>
  <Quest2 NQuest="2" Text="a" NAnswer="0">
    <Answer1>2</Answer1>
    <Answer2>4</Answer2>
    <Answer3>6</Answer3>
    <Answer4>8</Answer4>
    <Answer5>0</Answer5>
  </Quest2>
  <Quest3 NQuest="3" Text="z" NAnswer="0">
    <Answer1>9</Answer1>
    <Answer2>7</Answer2>
    <Answer3>5</Answer3>
    <Answer4>3</Answer4>
    <Answer5>1</Answer5>
  </Quest3>
</Questes>

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам