Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Aleksandr2677
0 / 0 / 0
Регистрация: 06.02.2013
Сообщений: 1
1

Парсинг xml

09.02.2013, 20:28. Просмотров 401. Ответов 0
Метки нет (Все метки)

Добрый день.
Помогите пожалуйста решить не совсем обычную задачу.
На просторах интернета увидел проект псевдо телеграфа http://habrahabr.ru/post/141308/ он распечатывает твиты с помощью термопечатающей головки. У меня же есть настоящий телеграф, к которому я хочу прикрутить для начала печать прогноза погоды кодом морзе.
Раньше я программы для пк не писал, поэтому есть сложности.
С выводом информации на com port я разобрался. Но застрял с парсингом http://informer.gismeteo.ru/xml/27612_1.xml

В XML есть четыре прогноза FORECAST, распарсить получилось только первый прогноз, как подобраться к ещё трём?
XML
1
2
3
4
<FORECAST day="09" month="02" year="2013" hour="22" tod="3" predict="0" weekday="7">...</FORECAST>
<FORECAST day="10" month="02" year="2013" hour="04" tod="0" predict="0" weekday="1">...</FORECAST>
<FORECAST day="10" month="02" year="2013" hour="10" tod="1" predict="0" weekday="1">...</FORECAST>
<FORECAST day="10" month="02" year="2013" hour="16" tod="2" predict="0" weekday="1">...</FORECAST>
Мой код
Pascal
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
procedure TForm1.Button2Click(Sender: TObject);
begin
 
 
    XMLDocument1.LoadFromFile('http://informer.gismeteo.ru/xml/27612_1.xml');
    //XMLDocument1.LoadFromFile('C:\XMLtest.xml');
     try
 
           XMLDocument1.Active := True;
           // REPORT
          nodeREPORT := XMLDocument1.DocumentElement.ChildNodes['REPORT'];
          Edit1.Text := nodeREPORT.Attributes['type'];
 
     //TOWN
    nodeTOWN := nodeREPORT.ChildNodes['TOWN'];
    Edit2.Text := nodeTOWN.Attributes['index'];
    Edit3.Text := nodeTOWN.Attributes['sname'];
    Edit4.Text := nodeTOWN.Attributes['latitude'];
    Edit5.Text := nodeTOWN.Attributes['longitude'];
 
    //FORECAST
    nodeFORECAST := nodeTOWN.ChildNodes['FORECAST'];
    Edit6.Text := nodeFORECAST.Attributes['day'];
    Edit7.Text := nodeFORECAST.Attributes['month'];
    Edit8.Text := nodeFORECAST.Attributes['year'];
    Edit9.Text := nodeFORECAST.Attributes['hour'];
    Edit10.Text := nodeFORECAST.Attributes['tod'];
    Edit11.Text := nodeFORECAST.Attributes['predict'];
 
      //PHENOMENA
      nodePHENOMENA := nodeFORECAST.ChildNodes['PHENOMENA'];
      Edit12.Text := nodePHENOMENA.Attributes['cloudiness'];
      Edit13.Text := nodePHENOMENA.Attributes['precipitation'];
      Edit14.Text := nodePHENOMENA.Attributes['rpower'];
      Edit15.Text := nodePHENOMENA.Attributes['spower'];
 
     //PRESSURE
     nodePRESSURE := nodeFORECAST.ChildNodes['PRESSURE'];
     edt1.Text := nodePRESSURE.Attributes['max'];
     edt2.Text := nodePRESSURE.Attributes['min'];
 
     //TEMPERATURE
     nodeTEMPERATURE := nodeFORECAST.ChildNodes['TEMPERATURE'];
     edt3.Text := nodeTEMPERATURE.Attributes['max'];
     edt4.Text := nodeTEMPERATURE.Attributes['min'];
 
     //HEAT
     nodeHEAT := nodeFORECAST.ChildNodes['HEAT'];
     edt5.Text := nodeTEMPERATURE.Attributes['max'];
     edt6.Text := nodeTEMPERATURE.Attributes['min'];
 
 
     //как вывести прогноз на следующее время не знаю((
     ///////// ?
     ///////// ?
 
 
     finally
    XMLDocument1.Active := false;
 
 
 end;
end;
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.02.2013, 20:28
Ответы с готовыми решениями:

Парсинг XML
Доброго времени суток ребята подскажите как достать &quot;&lt;description&gt;&quot; из &lt;rss version=&quot;2.0&quot;&gt;...

Парсинг XML
Как спарсить вот это все ?? &lt;soap:Envelope...

Парсинг XML
Всем привет. Никак не могу побороть парсинг. Есть XML: &lt;DataSet...

Парсинг XML в цикле
Помогите пожалуйста. Есть xml http://www.libertycity.ru/files.xml. Нужно каждый &lt;item&gt;&lt;/item&gt; и его...

Парсинг XML Doc
Доброго времени суток. Отправляю запрос на сервер и получаю ответ в виде: &lt;users total_count=&quot;2&quot;...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.02.2013, 20:28

Парсинг XML Delphi
Доброго времени суток. Срочно нужна помощь по парсингу XML. Информации особо немного,трудно...

Парсинг xml файла
Уважаемые коллеги! Помогите пожалуйста с парсингом xml xml выглядит так: -&lt;API...

Парсинг XML файла
Искал, так и не нашел того что надо... пытался но ничего не вышло. Файл такого типа....


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru