Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 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
     
    ;Do While rows > 0
         
        v_rows = v_rows + 1
         
        Set lItem = EventList.ListItems.Item(v_rows)
        'Hier werden an Variablen die ben&#246;tigte Angaben &#252;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 задача вообще выполнимая?????

Ответить

Страница: 1 | 2 |

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



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