Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.08.2012, 22:44   #1
lkz_07
 
Регистрация: 28.08.2010
Сообщений: 5
Восклицание Прочитать из XML файла

Прошу помочь в решении вопроса: есть xml file типа

Код:
- <xml xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema">
 - <s:Schema id="RowsetSchema">
 - <s:ElementType name="row" content="eltOnly" rs:updatable="true">
 - <s:AttributeType name="Id" rs:number="1" rs:basecatalog="umu2_back" rs:basetable="ds_reports" rs:basecolumn="Id" rs:keycolumn="true" rs:autoincrement="true">
 <s:datatype dt:type="int" dt:maxLength="4" rs:precision="10" rs:fixedlength="true" rs:maybenull="false" /> 
 </s:AttributeType>
 - <s:AttributeType name="Name" rs:number="2" rs:nullable="true" rs:writeunknown="true" rs:basecatalog="umu2_back" rs:basetable="ds_reports" rs:basecolumn="Name">
 <s:datatype dt:type="string" rs:dbtype="str" dt:maxLength="100" /> 
 </s:AttributeType>
 - <s:AttributeType name="FullName" rs:number="3" rs:nullable="true" rs:writeunknown="true" rs:basecatalog="umu2_back" rs:basetable="ds_reports" rs:basecolumn="FullName">
 <s:datatype dt:type="string" rs:dbtype="str" dt:maxLength="400" /> 
 </s:AttributeType>
 - <s:AttributeType name="ImageIndex" rs:number="4" rs:nullable="true" rs:writeunknown="true" rs:basecatalog="umu2_back" rs:basetable="ds_reports" rs:basecolumn="ImageIndex">
 <s:datatype dt:type="int" dt:maxLength="4" rs:precision="10" rs:fixedlength="true" /> 
 </s:AttributeType>
 - <s:AttributeType name="IdUnloading" rs:number="5" rs:nullable="true" rs:writeunknown="true" rs:basecatalog="umu2_back" rs:basetable="ds_reports" rs:basecolumn="IdUnloading">
 <s:datatype dt:type="int" dt:maxLength="4" rs:precision="10" rs:fixedlength="true" /> 
 </s:AttributeType>
 - <s:AttributeType name="SQLText" rs:number="6" rs:nullable="true" rs:writeunknown="true" rs:basecatalog="umu2_back" rs:basetable="ds_reports" rs:basecolumn="SQLText">
 <s:datatype dt:type="string" rs:dbtype="str" dt:maxLength="1000" /> 
 </s:AttributeType>
 - <s:AttributeType name="Template" rs:number="7" rs:nullable="true" rs:writeunknown="true" rs:basecatalog="umu2_back" rs:basetable="ds_reports" rs:basecolumn="Template">
 <s:datatype dt:type="bin.hex" dt:maxLength="2147483647" rs:long="true" /> 
 </s:AttributeType>
 - <s:AttributeType name="OldId" rs:number="8" rs:nullable="true" rs:writeunknown="true" rs:basecatalog="umu2_back" rs:basetable="ds_reports" rs:basecolumn="OldId">
 <s:datatype dt:type="int" dt:maxLength="4" rs:precision="10" rs:fixedlength="true" /> 
 </s:AttributeType>
 - <s:AttributeType name="IsQWizard" rs:number="9" rs:nullable="true" rs:writeunknown="true" rs:basecatalog="umu2_back" rs:basetable="ds_reports" rs:basecolumn="IsQWizard">
 <s:datatype dt:type="boolean" dt:maxLength="2" rs:fixedlength="true" /> 
 </s:AttributeType>
 - <s:AttributeType name="IsUnit" rs:number="10" rs:nullable="true" rs:writeunknown="true" rs:basecatalog="umu2_back" rs:basetable="ds_reports" rs:basecolumn="IsUnit">
 <s:datatype dt:type="boolean" dt:maxLength="2" rs:fixedlength="true" /> 
 </s:AttributeType>
 - <s:AttributeType name="PrintOnPrevPage" rs:number="11" rs:nullable="true" rs:writeunknown="true" rs:basecatalog="umu2_back" rs:basetable="ds_reports" rs:basecolumn="PrintOnPrevPage">
 <s:datatype dt:type="boolean" dt:maxLength="2" rs:fixedlength="true" /> 
 </s:AttributeType>
 <s:extends type="rs:rowbase" /> 
 </s:ElementType>
 </s:Schema>



 -<rs:data> // здесь свернутые данные

- <rs:update>
 - <rs:original>
 <z:row id="1" Time="0" /> 
 </rs:original>
 <z:row id="10" Time="54" /> 
 </rs:update>
 - <rs:update>
 - <rs:original>
 <z:row id="844" Time="410" /> 
 </rs:original>
 <z:row id="1" direc="Boris" /> 
 </rs:update>

 ...........

 </rs:data>

 </xml>
нужно вытащить из <rs:data>

Самый первый id и Time вывожу таким образом:

Код:
showmessage( VarToStr(XMLDocument1.DocumentElement.ChildNodes['rs:data'].ChildNodes['rs:update'].ChildNodes['rs:original'].ChildNodes.Nodes[0].Attributes['id']) ); //для id
Подскажите пожалуйста, как вывести остальные данные?
lkz_07 вне форума Ответить с цитированием
Старый 14.08.2012, 11:37   #2
lkz_07
 
Регистрация: 28.08.2010
Сообщений: 5
По умолчанию

Что неужели никто не знает решение данной проблемы?

"Клуб программистов" - > где все программисты? Ау
lkz_07 вне форума Ответить с цитированием
Старый 15.08.2012, 13:17   #3
BARNEY
Участник клуба
 
Регистрация: 23.04.2009
Сообщений: 1,058
По умолчанию

да циклом
Код:

for i:=0 to Xmldoc.documentElement.childnodes.count-1 do
begin
if Xmldoc.documentElement.childnodes[i].nodename='s' then
begin
ninode=Xmldoc.documentElement.childnodes[i];
name:=ninode.attributes['name'] 
rs_number:=ninode.attributes['rs:number'] 
rs_nullable:=ninode.attributes['rs:nullable'] 
rs_writeunknown:=ninode.attributes['rs:writeunknown'] 
end;
end;
Если вам человек помог, не стесняйтесь говорить спасибо (весы под аватаром)
BARNEY вне форума Ответить с цитированием
Старый 15.08.2012, 16:39   #4
ReportCube
Форумчанин
 
Аватар для ReportCube
 
Регистрация: 11.03.2011
Сообщений: 426
По умолчанию

Можно, конечно, и циклом, только зачем? Это стандартная запись как результат запроса. Читаем TADOQuery().LoadFromFile("Ваш XML-файл"), а потом работаем как с обычными полями TDataset
ReportCube вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
необходимо прочитать mft файла flober Помощь студентам 0 21.05.2011 14:40
сформировать xml-файл на основе другого xml-файла NieL Общие вопросы Delphi 2 21.12.2010 15:49
Прочитать из файла строку ds.Dante Общие вопросы .NET 22 03.09.2009 16:08
Xml, как правильно прочитать Parcenson Общие вопросы Delphi 0 02.09.2008 06:29
Не получается прочитать из файла...( Regloger Помощь студентам 3 09.12.2007 14:23