Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: ActiveX/СОМ/CORBA > Чтение XML файла


Автор: Lockdog88 5.8.2010, 08:42
Добрый день!
У меня есть вот такой XML файл:
Код

<MMWEATHER>
    <REPORT type="frc3">
        <TOWN index="27612" sname="%CC%EE%F1%EA%E2%E0" latitude="56" longitude="38">
            <FORECAST day="05" month="08" year="2010" hour="03" tod="0" predict="0" weekday="5">
                <PHENOMENA cloudiness="0" precipitation="10" rpower="0" spower="0"/>
                <PRESSURE max="747" min="745"/>
                <TEMPERATURE max="23" min="21"/>
                <WIND min="1" max="3" direction="3"/>
                <RELWET max="35" min="33"/>
                <HEAT min="20" max="22"/>
            </FORECAST>
            <FORECAST day="05" month="08" year="2010" hour="09" tod="1" predict="0" weekday="5">
                <PHENOMENA cloudiness="1" precipitation="10" rpower="0" spower="0"/>
                <PRESSURE max="749" min="747"/>
                <TEMPERATURE max="31" min="29"/>
                <WIND min="1" max="3" direction="3"/>
                <RELWET max="38" min="36"/>
                <HEAT min="27" max="29"/>
            </FORECAST>
            <FORECAST day="05" month="08" year="2010" hour="15" tod="2" predict="0" weekday="5">
                <PHENOMENA cloudiness="0" precipitation="10" rpower="0" spower="0"/>
                <PRESSURE max="749" min="747"/>
                <TEMPERATURE max="39" min="37"/>
                <WIND min="3" max="5" direction="3"/>
                <RELWET max="17" min="15"/>
                <HEAT min="34" max="36"/>
            </FORECAST>
            <FORECAST day="05" month="08" year="2010" hour="21" tod="3" predict="0" weekday="5">
                <PHENOMENA cloudiness="1" precipitation="10" rpower="0" spower="0"/>
                <PRESSURE max="749" min="747"/>
                <TEMPERATURE max="29" min="27"/>
                <WIND min="2" max="4" direction="2"/>
                <RELWET max="34" min="32"/>
                <HEAT min="25" max="27"/>
            </FORECAST>
        </TOWN>
    </REPORT>
</MMWEATHER>


Нужно считывать значения из каждого блока FORECAST
Если я пишу так:
Код

cloud := XMLDocument1.DocumentElement.ChildNodes['REPORT'].ChildNodes['TOWN'].ChildNodes['FORECAST'].ChildNodes['PHENOMENA'].GetAttribute('cloudiness');


то узнаю значение только из первого блока, как мне считать значения тех же параметров из остальных блоков FORECAST?

Автор: xkor 5.8.2010, 23:26
Код

for i:=0 to XMLDocument1.DocumentElement.ChildNodes['REPORT'].ChildNodes['TOWN'].ChildNodes.Count do
  cloud[i] := XMLDocument1.DocumentElement.ChildNodes['REPORT'].ChildNodes['TOWN'].ChildNodes[i].ChildNodes['PHENOMENA'].GetAttribute('cloudiness');

Автор: Lockdog88 7.8.2010, 22:00
Огромное спасибо!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)