XML

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Niko
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 102
Зарегистрирован: 16.03.2006 (Чт) 14:43

XML

Сообщение Niko » 07.05.2007 (Пн) 11:41

Добрый день.
Подскажите плиз ак мне достучаться до полей name, hp, ...?

Код: Выделить всё
  <?xml version="1.0" encoding="windows-1251" ?>
- <online>
  <user name="Niko" hp="25" hp_max="312" endurance="181" endurance_max="211"/>
  </online>


Код: Выделить всё
Код:
Dim x As New DOMDocument
x.Load "test.xml"
Debug.Print x.selectSingleNode("online/user
- дальше незнаю :(
---
смотрел тут http://bbs.vbstreets.ru/viewtopic.php?t=30530 но вроде не то.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 07.05.2007 (Пн) 12:11

Код: Выделить всё
Debug.Print x.selectSingleNode("online/user").Attributes.getNamedItem("name").Text
Изображение

Niko
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 102
Зарегистрирован: 16.03.2006 (Чт) 14:43

Сообщение Niko » 07.05.2007 (Пн) 12:21

спасибо.

Niko
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 102
Зарегистрирован: 16.03.2006 (Чт) 14:43

Сообщение Niko » 16.05.2007 (Ср) 11:23

Еще вопрос.
Как мне в цикле просмотреть все записи?
Код: Выделить всё
  <?xml version="1.0" encoding="windows-1251" ?>
- <online>
  <user name="Niko" hp="25" hp_max="312" endurance="181" endurance_max="211"/>
  <user name="Buga" hp="439" hp_max="439" endurance="601" endurance_max="601"/>
  </online>

смотрел тут. http://bbs.vbstreets.ru/viewtopic.php?t ... omdocument
Код: Выделить всё
dim xml as new msxml2.domdocument
dim rst as dao.recordset

public sub importSingleNode(node as msxml2.ixmldomnode)
with rst
.addnew
.fields("name")=n.attributes.getNamedItem("name")
.fields("qty")=n.attributes.getNamedItem("qty")
.update
end with
end sub

public sub importXML(node as msxml2.ixmldomnode)
dim x msxml2.ixmldomnode
if not (node is xml.documenElement) then importSingleNode(node)
for each x in node.childNodes
importSingleNode(x)
if x.childNodes.length>0 then importXML(x)
next x
end sub

public sub main()
xml.async=false
xml.load "myxml.xml"
dim db as dao.database
set db=opendatabase("mybase.mdb")
set rst=db.tabledefs("table1").openrecordset
importXML(xml.documentElement)
rst.close
db.close
end sub

В этом примере for each x in node.childNodes вроде то что надо, но непонятно :oops:
--------
сорри уже понял.

Код: Выделить всё
For Each x In XMLDoc.selectNodes("online/user")
    sValue1 = x.Attributes.getNamedItem("hp").Text
Next x


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 34

    TopList