Страница: 1 | 2 |
Вопрос: Xml в VB6
Добавлено: 01.03.07 18:05
Автор вопроса: KreAtoR
Чем дальше тем тяжелее. По этому вопросу у меня вообще инфы нет, поэтому прошу вас выложить кто что может.
Если кто может подсказать как из Xml текста перекинуть в переменные буду оч. рад и благодарен. Ну что я жду
Если сам найду тоже выложу
Ответы
Всего ответов: 20
Номер ответа: 1
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #1
Добавлено: 01.03.07 18:14
Ну, для этого достаточно подключить к проекту msxml40.dll - дальше по контексту все станет понятно.
Номер ответа: 2
Автор ответа:
KreAtoR
Вопросов: 120
Ответов: 438
Профиль | | #2
Добавлено: 01.03.07 18:28
Ой классно то как, а можно поподробней с этого места
Номер ответа: 3
Автор ответа:
Arseny
ICQ: 298826769
Вопросов: 53
Ответов: 1732
Профиль | | #3
Добавлено: 01.03.07 20:08
Я бы тоже непрочь поподробней...
Номер ответа: 4
Автор ответа:
KreAtoR
Вопросов: 120
Ответов: 438
Профиль | | #4
Добавлено: 02.03.07 10:00
Да давайте чтоб тема не умерла поподробней ее расмотрим. msxml40.dll звучит красиво, но вот что кроется под этим названием мне понять тяжело.
Кто может помогайте....
Arseny потдерживаю тебя 100%
Номер ответа: 5
Автор ответа:
KreAtoR
Вопросов: 120
Ответов: 438
Профиль | | #5
Добавлено: 02.03.07 10:41
Так давай тему расширять все таки.
Выложу как можно без проблем записать данные в XML файл
Опять таки же мой пример показывает как можно считать данные с ListView и поместить их в Xml файл
Public Sub xmldatei()
'create Time.xml
PresFilenameXML = "C:\\Time.xml"
Open PresFilenameXML For Output As #1
Print #1, "<?xml version=" & Chr(34) & "1.0" & Chr(34) & _
" encoding=" & Chr(34) & "iso-8859-1" & Chr(34) & "?>"
Print #1, "<session>"
Call xml 'вызываем функцию в которой цикл
Print #1, "</session>"
Close 1
End Sub
Public Sub xml()
Dim v_rows As Integer
Dim v_entry As String
Dim v_name As String
Dim v_start As String
Dim v_secstart As String
Dim v_length As String
Dim v_seclength As String
Dim v_comment As String
v_entry = 1
v_rows = 0
 o While rows > 0
v_rows = v_rows + 1
Set lItem = EventList.ListItems.Item(v_rows)
'Hier werden an Variablen die benötigte Angaben übergegeben
'und die Variablen werden in Text gesetzt
v_name = lItem.ListSubItems.Item(1)
v_start = lItem.ListSubItems.Item(2)
v_length = lItem.ListSubItems.Item(3)
v_secstart = lItem.ListSubItems.Item(5)
v_seclength = lItem.ListSubItems.Item(6)
v_comment = lItem.ListSubItems.Item(4)
Print #1, "<" & "entry_" & v_entry & ">"
Print #1, " "
Print #1, "<name>" & v_name & "</name>"
Print #1, " "
Print #1, "<start>" & v_start & "</start>"
Print #1, " "
Print #1, "<start_sec>" & v_secstart & "</start_sec>"
Print #1, " "
Print #1, "<length>" & v_length & "</length>"
Print #1, " "
Print #1, "<length_sec>" & v_seclength & "</length_sec>"
Print #1, " "
Print #1, "<comment>" & v_comment & "</comment>"
Print #1, " "
Print #1, "</" & "entry_" & v_entry & ">"
Print #1, " "
v_entry = v_entry + 1
rows = rows - 1
Loop
End Sub
короче присваиваем переменным необходимые значения и крутим уикл пока он не кончится.
Работает это дело 100%
Остался теперь такой вопрос, как получившийся Xmlфайл прочитать в ListView.
Номер ответа: 6
Автор ответа:
Arseny
ICQ: 298826769
Вопросов: 53
Ответов: 1732
Профиль | | #6
Добавлено: 02.03.07 12:03
Не-е... Ты велосипед изобретаешь... нужно пример, как юзать msxml на vb6... Там все эти функции есть.
Номер ответа: 7
Автор ответа:
KreAtoR
Вопросов: 120
Ответов: 438
Профиль | | #7
Добавлено: 02.03.07 12:40
Я лично не могу такое написать, а больше как видишь никому это не надо. Что мне делать если я даже незнаю как этот dll подключить, короче муть темной воды
Номер ответа: 8
Автор ответа:
Arseny
ICQ: 298826769
Вопросов: 53
Ответов: 1732
Профиль | | #8
Добавлено: 02.03.07 13:53
Project->References
А дальше что-то вроде Dim myXml As New MSXML?????
Номер ответа: 9
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #9
Добавлено: 02.03.07 14:04
Project->References->Microsoft XML, v4.0
подключится msxml4.dll
Dim XMLParcer As DOMDocument30
Set XMLParcer = New DOMDocument30
XMLParcer.Load "MyFile.xml"
Дальше либо смотрим в Object Browser, либо в Watch window смотрим нужные нам ноды, либо конкретно формулируем задачу...
Номер ответа: 10
Автор ответа:
KreAtoR
Вопросов: 120
Ответов: 438
Профиль | | #10
Добавлено: 02.03.07 14:32
LamerOnLine Arseny сенкс вам
я себе голову поломал что за DOOM3 и никак найти его не мог. Щас все ок нашел подключил, осталосб раздуплить что есть что.
А вы случайно не знаете как можно из открытого фала хмл путем цикла вытащить поочереди все данные. Имеется ввиду, что там одно и тоже тока повторяется с разными данными. и мне их надо от туда извлечь в переменные????
помогите плиз
Номер ответа: 11
Автор ответа:
KreAtoR
Вопросов: 120
Ответов: 438
Профиль | | #11
Добавлено: 02.03.07 14:34
типа как спускаться по строкам в этом хмэеле, что брать что надо и присваивать куда надо ;-/
Номер ответа: 12
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #12
Добавлено: 02.03.07 14:40
хорош гнать, никакие строки тебе не нужны, msxml их сам парсит, тебе предоставляет структурированные данные в виде Nodes - элементы и аттрибуты. Они тебе и нужны.
Приведи файл (если не слишком здоровый) и задачу. Иначе мы тут флуд гоняем...
Номер ответа: 13
Автор ответа:
KreAtoR
Вопросов: 120
Ответов: 438
Профиль | | #13
Добавлено: 02.03.07 14:53
Файл
<?xml version="1.0" encoding="iso-8859-1" ?>
- <session>
- <entry_1>
<name>Name hier eintragen...</name>
<start_sec>3</start_sec>
<length_sec>1</length_sec>
<comment>Hier Kommentar eintragen....</comment>
</entry_1>
- <entry_2>
<name>Name hier eintragen...</name>
<start_sec>4</start_sec>
<length_sec>2</length_sec>
<comment>Hier Kommentar eintragen....</comment>
</entry_2>
- <entry_3>
<name>Name hier eintragen...</name>
<start_sec>6</start_sec>
<length_sec>1</length_sec>
<comment>Hier Kommentar eintragen....</comment>
</entry_3>
</session>
Задача
Нужно это чтоб резать видео, но это щас не интересует.
Start 5 это начало отрезка который от 0 в секундах
Length 6 это длина отрезка в секундах
надо чтоб имя вставил в переменную
public filename as String
Start вставил в переменную
public In as Long
Length вставил в переменную
public Out as Long
а коментарии нам пока не нужны
их по идее надо запихнуть в свойства файла но это надо СДК с Медиа Плеера
Вот задача объяснена.
Ах да забыл, после того как один кусок отрезал, он должен взять следующий и так далее пока есть откуда и что брать...
Номер ответа: 14
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #14
Добавлено: 02.03.07 15:07
Понятно, только че это за символы "-" перед тэгами session и entry? Их, по идее, быть не должно
Номер ответа: 15
Автор ответа:
KreAtoR
Вопросов: 120
Ответов: 438
Профиль | | #15
Добавлено: 02.03.07 15:09
их нет просто я с IE скопировал это открыть закрыть. типа плюсик минусик.
Как считаешь LamerOnLine задача вообще выполнимая?????