Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 05.03.2017
Сообщений: 16

Как вывести каждое значения из кавычек из XML файла?

05.03.2017, 10:29. Показов 2204. Ответов 23

Студворк — интернет-сервис помощи студентам
Как вывести каждое значения из кавычек из файл XML на VB2010

Имеется такой файл xxx-f.xml из видеорегистратора
в нем содержимое:
XML
1
2
3
4
5
6
7
8
<?xml version='1.0' encoding='UTF-8' standalone='no' ?>
<path>
<info speed="20" longitude="49.17257333333334" latitude="56.79480166666667" valid="1" time="1487328644846" offsettime="0" />
<info speed="21" longitude="49.172513333333335" latitude="56.794763333333336" valid="1" time="1487328645010" offsettime="0" />
<info speed="21" longitude="49.172513333333335" latitude="56.794763333333336" valid="1" time="1487328645010" offsettime="0" />
<info speed="21" longitude="49.172513333333335" latitude="56.794763333333336" valid="1" time="1487328645847" offsettime="1" />
<info speed="21" longitude="49.172513333333335" latitude="56.794763333333336" valid="1" time="1487328645847" offsettime="1" />
<info speed="21" longitude="49.172513333333335" latitude="56.794763333333336" valid="1" time="1487328645847" offsettime="1" />
Как вывести каждое значения из кавычек из файл XML , типа
speed=20 longitude=49.17257333333334 latitude=56.79480166666667 valid=1 time=12.12.12. 20:00:00
speed=20 longitude=49.17257333333334 latitude=56.79480166666667 valid=1 time=12.12.12. 20:00:01
speed=20 longitude=49.17257333333334 latitude=56.79480166666667 valid=1 time=12.12.12. 20:00:02
и каждое значение для работы с ним
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.03.2017, 10:29
Ответы с готовыми решениями:

Как вывести все значения из XML-файла
Вобщем есть некий файл msgs.xml &lt;msgs&gt; &lt;message category=''cat1''&gt; текст сообщения &lt;message category=''cat2''&gt; текст сообщения...

Как в Java вывести в консоль значения атрибутов из файла XML?
Подскажите как в Java вывести в консоль значения атрибутов из файла XML? Чтобы получались такие строки вывода: Ivanov 12 A red Petrov...

LINQ to XML: Вывести значения атрибутов из файла
Доброго времени суток, форумчане! Подскажите что не так в моём коде, не судите строго новичка:) Нужно из XML файла считать значение...

23
 Аватар для volodin661
6688 / 2279 / 348
Регистрация: 10.12.2013
Сообщений: 7,889
05.03.2017, 14:02
из имеющихся в Windows инструментальных средств
работать с XML- файлами удобнее всего с помощью оболочки powershell.

Добавлено через 17 минут
В случае Windows XP устанавливать powershell - не самое простое дело,
проще - скaчать с сайта Microsoft msxsl.exe и применить к данному XML простую XSLT-трансформацию
либо произвести эту же трансформацию через VBScript, не скачивая msxsl.exe.

Итак, если Windows 7 - переадресовывай вопрос в ветку 'powershell' https://www.cyberforum.ru/powershell/
а если Windows XP, переадресовывай вопрос в ветку 'XML' https://www.cyberforum.ru/xml-xsl/
0
 Аватар для ViterAlex
8951 / 4863 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
05.03.2017, 23:04
Сериализацией это нужно делать. Сначала классы:
Кликните здесь для просмотра всего текста
Класс Info
VB.NET
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
Imports System.ComponentModel
Imports System.Xml.Serialization
 
'''<remarks/>
<Serializable, XmlType(AnonymousType:=True)>
Partial Public Class Info
    Private _speed As Byte
 
    Private _longitude As Decimal
 
    Private _latitude As Decimal
 
    Private _valid As Byte
 
    Private _time As DateTime
 
    Private _offsettime As Byte
 
    '''<remarks/>
    <XmlAttribute("speed")>
    Public Property Speed As Byte
        Get
            Return Me._speed
        End Get
        Set
            Me._speed = Value
        End Set
    End Property
 
    '''<remarks/>
    <XmlAttribute("longitude")>
    Public Property Longitude As Decimal
        Get
            Return Me._longitude
        End Get
        Set
            Me._longitude = Value
        End Set
    End Property
 
    '''<remarks/>
    <XmlAttribute("latitude")>
    Public Property Latitude As Decimal
        Get
            Return Me._latitude
        End Get
        Set
            Me._latitude = Value
        End Set
    End Property
 
    '''<remarks/>
    <XmlAttribute("valid")>
    Public Property Valid As Byte
        Get
            Return Me._valid
        End Get
        Set
            Me._valid = Value
        End Set
    End Property
 
    '''<remarks/>
    <XmlAttribute("time"), Browsable(False)>
    Public Property TimeXml As ULong
        Get
            Return Me._time.ToFileTime()
        End Get
        Set
            Me._time = Date.FromFileTime(Value)
        End Set
    End Property
 
    <XmlIgnore()>
    Public Property Time As DateTime
        Get
            Return Me._time
        End Get
        Set
            Me._time = Value
        End Set
    End Property
 
    '''<remarks/>
    <XmlAttribute("offsettime")>
    Public Property Offsettime As Byte
        Get
            Return Me._offsettime
        End Get
        Set
            Me._offsettime = Value
        End Set
    End Property
End Class

Класс Path
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Imports System.ComponentModel
Imports System.Xml.Serialization
 
'''<remarks/>
<Serializable(),
    XmlType(AnonymousType:=True),
    XmlRoot([Namespace]:="", ElementName:="path", IsNullable:=False)>
Public Class Path
 
    Private _infos As List(Of Info)
 
    '''<remarks/>
    <XmlElement("info")>
    Public Property Infos() As List(Of Info)
        Get
            Return Me._infos
        End Get
        Set
            Me._infos = Value
        End Set
    End Property
End Class

Затем читаем:
VB.NET
1
2
3
4
5
6
7
8
Private Function GetData(fileName As String) As Path
    Dim p As Path
    Using reader As New StreamReader(fileName)
        Dim serial As New XmlSerializer(GetType(Path))
        p = serial.Deserialize(reader)
    End Using
    Return p
End Function
Полученный объект типа Path содержит список Infos, в котором лежат объекты типа Info со всеми необходимыми для дальнейшей работы свойствами.
Отдельно по времени. В файле оно хранится в виде числа. Не совсем понятно, что это за число: UnixFormat, WindowsTime, Ole Automation Date или ещё что-нибудь. Я написал, исходя из предположения, что это WindowsTime
Во вложении пример занесения данных в DataGridView
Миниатюры
Как вывести каждое значения из кавычек из XML файла?  
Вложения
Тип файла: zip WindowsApplication1.zip (19.4 Кб, 9 просмотров)
7
0 / 0 / 0
Регистрация: 05.03.2017
Сообщений: 16
06.03.2017, 10:54  [ТС]
Time это число: UnixFormat
0
 Аватар для diadiavova
7259 / 2606 / 744
Регистрация: 11.04.2015
Сообщений: 4,150
Записей в блоге: 43
06.03.2017, 14:08
Немного дополню ответ. Если нужно отображать XML в виде таблицы в гриде, то там по сути особо ничего и не нужно. Дело в том, что DataSet вполне себе неплохо справляется с таким форматом XML. Просто надо добавить либо в дизайнере формы либо в коде DataSet и выполнить что-то типа такого
VB.NET
1
2
            DataSet1.ReadXml(xmlFileName)
            DataGridView1.DataSource = DataSet1.Tables(0)
Если нужен типизированный датасет, то можно сделать так
VB.NET
1
2
            DataSet1.ReadXml(xmlFileName)
            DataSet1.WriteXmlSchema(xmlFileName & ".xsd")
После этого появившийся рядом с XML-файлом файл XSD надо добавить в проект с помощью диалога "Добавить существующий элемент". Со строками таблицы из этого датасета можно работать так же удобно, как и с классами сериализации.
3
 Аватар для ViterAlex
8951 / 4863 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
06.03.2017, 14:15
Цитата Сообщение от RRRR777 Посмотреть сообщение
Time это число: UnixFormat
ну если так, то стоит немного доработать свойство
VB.NET
1
2
3
4
5
6
7
8
9
10
    '''<remarks/>
    <XmlAttribute("time"), Browsable(False)>
    Public Property TimeXml As ULong
        Get
            Return Me._time.ToFileTime()
        End Get
        Set
            Me._time = Date.FromFileTime(Value)
        End Set
    End Property
Вместо ToFileTime/FromFileTime написать свои функции: ToUnixTime/FromUnixTime. А в .Net4.6 уже и встроенные функции появились: DateTimeOffset.FromUnixTimeSeconds DateTimeOffset.ToUnixTimeSeconds
1
0 / 0 / 0
Регистрация: 05.03.2017
Сообщений: 16
06.03.2017, 16:04  [ТС]
подробнее
1. чтение XML (решено!!!СПАСИБО)

2. с этих данных: широта и долгота (подхватывает данные с xml) в карту гугл с координатной точкой
WebBrowser1.Navigate("maps.google.com/maps?f=q&q=" + Label6.Text + "," + Label4.Text + "&z=16")

Выдает ошибку "Ваш браузер не поддерживается."


3. видеоплеер на две камеры , у каждого свое расширение avi, mp4
(проверка одинакового имени у всех файлов)
(подхватывает данные с xml)


по сути это все делается для программы free видеорегистратора Junsun.
0
 Аватар для diadiavova
7259 / 2606 / 744
Регистрация: 11.04.2015
Сообщений: 4,150
Записей в блоге: 43
06.03.2017, 16:18
Цитата Сообщение от RRRR777 Посмотреть сообщение
Выдает ошибку "Ваш браузер не поддерживается.
Internet Feature Controls (B..C) (Internet Explorer)
Подробнее здесь
Controlling WebBrowser Control Compatibility – Pat's Windows Development Blog
В двух словах: WebBrowser по умолчанию работает в режиме совместимости с IE7. Для того, чтобы установить более позднюю версию, надо внести определенную запись в реестр и по тем ссылкам, что сверху, написано что и куда надо внести: первая ссылка - официальная документация, по второй можно найти более подробное описание.
1
 Аватар для ViterAlex
8951 / 4863 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
06.03.2017, 16:21
для карт есть вполне себе хороший GMap, не нужно использовать WebBrowser.
Зачем ты передаёшь Label.Text, когда у тебя есть данные в цифре?
2
0 / 0 / 0
Регистрация: 05.03.2017
Сообщений: 16
06.03.2017, 16:44  [ТС]
потому что они выводятся на экран

как работать с этими табличными данными?

не работает метод "Вместо ToFileTime/FromFileTime написать свои функции: ToUnixTime/FromUnixTime."

Добавлено через 3 минуты
Как работать с Gmap?
0
0 / 0 / 0
Регистрация: 05.03.2017
Сообщений: 16
07.03.2017, 23:31  [ТС]
Выдает ошибку "Ваш браузер не поддерживается.
при открытие карт Google


решено !

карты открываются через Яндекс

Добавлено через 50 минут
ToUnixTime/FromUnixTime. чем можно заменить ? на vb2010
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18291 / 14214 / 5368
Регистрация: 17.03.2014
Сообщений: 28,891
Записей в блоге: 1
08.03.2017, 10:24
Цитата Сообщение от RRRR777 Посмотреть сообщение
ToUnixTime/FromUnixTime. чем можно заменить ? на vb2010
VB.NET
1
2
3
4
5
6
7
Shared Function ToUnixTime(d As DateTime) As UInteger
    Return (d.ToUniversalTime() - New DateTime(1970,1,1,0,0,0, DateTimeKind.Utc)).TotalSeconds
End Function
 
Shared Function FromUnixTime(unixSeconds As UInteger) As DateTime
    Return New DateTime(1970,1,1,0,0,0, DateTimeKind.Utc).AddSeconds(unixSeconds).ToLocalTime()
End Function
1
0 / 0 / 0
Регистрация: 05.03.2017
Сообщений: 16
08.03.2017, 13:48  [ТС]
VB.NET
1
2
3
4
5
Dim a As String
        a = 1488565923 ' "hour":19,"minute":32,"second":3,"month":3,"day":3,"year":2017"
........................код
        Label1.Text =
       "hour"+Label2.Text+"minute"+Label3.Text+,"second"+Label4.Text+"month"+Label5.Text+"day"+Label6.Text+"year"+Label7.Text
как это реализовать ? пример
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18291 / 14214 / 5368
Регистрация: 17.03.2014
Сообщений: 28,891
Записей в блоге: 1
08.03.2017, 13:55
Цитата Сообщение от RRRR777 Посмотреть сообщение
как это реализовать ?
Что именно?
0
0 / 0 / 0
Регистрация: 05.03.2017
Сообщений: 16
08.03.2017, 14:07  [ТС]
куда вставить код? (ToUnixTime/FromUnixTime) нет такой функции в vb2010

весь интернет перерыл уже)))

пробывал такой код не работает
VB.NET
1
2
        a = 1488565923 
        Label13.Text = Format(a / 86400 + 25569, "dd.mm.yyyy hh:mm:ss")

желательно пример и файл
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18291 / 14214 / 5368
Регистрация: 17.03.2014
Сообщений: 28,891
Записей в блоге: 1
08.03.2017, 15:04
RRRR777, вставляешь код функций которые я привел ранее в любое место где это разрешено правилами языка и вызываешь
VB.NET
1
2
Dim a As UInteger = 1488565923 ' "hour":19,"minute":32,"second":3,"month":3,"day":3,"year":2017"
Dim dt As DateTime = FromUnixTime(a)
Далее из переменной dt можно получить отдельные части даты
VB.NET
1
Label1.Text = "hour=" + dt.Hour + ", minute=" + dt.Minute + ", second=" + dt.Second + ", month=" + dt.Month + "day=" + dt.Day +", year=" + dt.Year
Обрати внимание что комментарий из кода насчет даты неверен насчет часов. Дата соотвествует 18 часам, а не 19.
2
0 / 0 / 0
Регистрация: 05.03.2017
Сообщений: 16
08.03.2017, 15:14  [ТС]
Решено! для VB2010
Выводит UnixTime с реального времени
VB.NET
1
Label13.Text = DateDiff("s", "01/01/1970 00:00:00", Now())
Выводит дату в нормальный вид из UnixTime
VB.NET
1
Label13.Text = DateAdd("s", 1488988847, "01.01.1970 00:00:00")
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18291 / 14214 / 5368
Регистрация: 17.03.2014
Сообщений: 28,891
Записей в блоге: 1
08.03.2017, 15:19
RRRR777, это неверное решение. UnixTime хранит дату-время в часовом поясе UTC+0. Твой же код использует локальное время и поэтому дает неверный результат.
2
0 / 0 / 0
Регистрация: 05.03.2017
Сообщений: 16
08.03.2017, 23:35  [ТС]
не работает метод "Вместо ToFileTime/FromFileTime написать свои функции: ToUnixTime/FromUnixTime."

В чем ошибка?
Миниатюры
Как вывести каждое значения из кавычек из XML файла?  
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
18291 / 14214 / 5368
Регистрация: 17.03.2014
Сообщений: 28,891
Записей в блоге: 1
08.03.2017, 23:58
RRRR777,
VB.NET
1
Return ToUnixTime(Me._time)
Подразумевается что в твоем классе есть метод ToUnixTime
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.03.2017, 23:58
Помогаю со студенческими работами здесь

Очереди. За один просмотр файла вывести на экран каждое третье слово, а затем каждое четвертое
Помогите студенту сделать задачу на с++, вот условие: Создать файл вещественных чисел за один просмотр файла вывести на экран каждое...

Как вывести каждое число из файла в переменную?
Есть файл rec.txt в который записаны числа в таком виде: 9 38.62751074 147.64926401 1 и тд. Каждое из этих чисел нужно записать в а1 до...

Вывести данные в таблицу из xml файла. - Анализ XML файла, выгружаемого программой SPU_ORB.
Есть такой файлик с расширением .xml (из программы spy_orb) в нем много строк, но нам нужно вытащить только суммы и запихнуть в таблицу,...

Как прочитать значения их файла xml?
Читаю файл в диалоге, а затем пытаюсь из него выбрать данные, но что то плохо получается, можете помочь? private void...

Как присваивать значения переменным из xml файла?
Есть xml файл, необходимо, чтобы при вводе переменной равной id кабинета, присваивалось значение из базы данных другим переменным ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru