XML парсинг

Работа с файлами и базами данных
Ответить
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5462
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 86 раз

XML парсинг

Сообщение IvanLis »

Нужна помощь....
Если парсить нормальный файл, кототый имеет следующий вид, то вроде понятно. Делается с помощью Get Node Text Content

Код: Выделить всё

<TestSetting>
   <Device>1</Device>
   <Channel>1</Channel>
   <Samples>20</Samples>
</TestSetting>
Но нужно разобрать файл типа

Код: Выделить всё

<FORECAST day="03" hour="16" month="04" predict="0" tod="2" weekday="1" year="2011">
   <PHENOMENA cloudiness="0" precipitation="10" rpower="0" spower="0"/>
   <PRESSURE max="756" min="754"/>
   <TEMPERATURE max="10" min="8"/>
   <WIND direction="2" max="4" min="2"/>
   <RELWET max="88" min="86"/>
   <HEAT max="10" min="8"/>
</FORECAST>
Есть ли стандартные способы пропарсить записи такого вида?
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5462
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 86 раз

Re: XML парсинг

Сообщение IvanLis »

В принципе докопался стандартными средствами... через атрибуты
Но все нудно и громозко

Хотелось бы, что-нибудь типа этого, только как поставить в Linux???
EasyXML Toolkit for LabVIEW
cluster_to_xml.png
cluster_to_xml.png (7.52 КБ) 4110 просмотров
Либо GXML
IntroString.png
И еще вопрос...
Как программного описать структуру кластера?
Что-бы потом в него передать данные из парсера.
Аватара пользователя
mzu2006

Professionalism Tutorials Black
doctor
doctor
Сообщения: 2456
Зарегистрирован: 16 авг 2008, 02:12
Награды: 3
Версия LabVIEW: 7.1 10 11 12
Откуда: St-Petersburg (RU), Phila, Boston, Washington DC
Контактная информация:

Re: XML парсинг

Сообщение mzu2006 »

Попробуй со скриптингом. Меня эта тема тоже интересует.
toto

Activity Gold Black
professional
professional
Сообщения: 390
Зарегистрирован: 07 мар 2008, 09:26
Награды: 3
Версия LabVIEW: 6i-16
Откуда: Санкт-Петербург
Контактная информация:

Re: XML парсинг

Сообщение toto »

EasyXML вроде платный?
Мы работаем с XML стандартными функциями работы со строками, вобщем-то не очень конечно хороший вариант, но за неимением вполне подходит, если есть какие-то универсальные парсеры под LabVIEW подскажите пожалуйста.
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5462
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 86 раз

Re: XML парсинг

Сообщение IvanLis »

toto писал(а):Мы работаем с XML стандартными функциями работы со строками, вобщем-то не очень конечно хороший вариант, но за неимением вполне подходит
я решил использовать правильные компоненты
1.png
1.png (4.27 КБ) 4069 просмотров
довольно скудная палитра :bae:
mzu2006 писал(а):Меня эта тема тоже интересует.
С учетом моего опыта работы с XML на других языках программирования
Классически разложил файлик согласно идеологии DOM, ну по крайней мере мне так кажется :wink:
Единственно не использовал "типы данных", которые так же хранит XML, но мне показалось лишним.
Ранее в :labview: с XML не работал (только кластера в файл сохранял)
Так что выслушаю пожелания, может кому пригодится как наглядный пример.
XMLParse.vi
lv8.6
(51.69 КБ) 176 скачиваний
Единственно, постоянно возникало желание использовать SubVI, но использовать reference для обмена информации не вышло.... :cry:
по этому диаграмма перегружена, но при необходимости можно разобраться.
Тоже проблема.
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5462
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 86 раз

Re: XML парсинг

Сообщение IvanLis »

подумал... пересмотрел.... завтра вечером выложу более правильный вариант
toto

Activity Gold Black
professional
professional
Сообщения: 390
Зарегистрирован: 07 мар 2008, 09:26
Награды: 3
Версия LabVIEW: 6i-16
Откуда: Санкт-Петербург
Контактная информация:

Re: XML парсинг

Сообщение toto »

Спасибо за пример, мы работали в версии 8.2.1, а там похоже нет еще такой палитры, перейдем на новую версию - освоим.
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5462
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 86 раз

Re: XML парсинг

Сообщение IvanLis »

IvanLis писал(а):подумал... пересмотрел.... завтра вечером выложу более правильный вариант
немного поправил коды
XMLParse SubVI.vi
lv8.6
(46.29 КБ) 200 скачиваний
Оформил в виде функции, которая принимает XML-текст из переменной String.
А возвращает все данные в кластер.
Если парсить файл, то отличается только началом:
чтение XML-документа из файла
чтение XML-документа из файла
1.png (5.6 КБ) 4036 просмотров
По результатам изысканий оформил, что-то типа урока:
Парсинг XML файлов в LabVIEW (XML-Parse)
Парсинг XML файлов в LabVIEW используя регулярные выражения (Regular Expressions, RegExp)
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Сохранение данных»