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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.02.2012, 19:04   #1
admroot
Пользователь
 
Аватар для admroot
 
Регистрация: 14.04.2009
Сообщений: 15
По умолчанию Парсинг XML в Delphi

Всем доброго дня и хорошего настроения!!! Уважаемые программисты, помогите решить задачу:
Есть xml :
Код:
<properties>
<entry key="data">base</entry>
<entry key="file">filename</entry>
<entry key="code">104</entry>
</properties>
Как мне его пропарсить и получить значения base, filename, 104? Заранее спасибо
admroot вне форума Ответить с цитированием
Старый 04.02.2012, 19:32   #2
MadReason
Ищу работу
Форумчанин
 
Аватар для MadReason
 
Регистрация: 16.02.2007
Сообщений: 269
По умолчанию

http://parsing-and-i.blogspot.com/20...ml-delphi.html

или через pos, copy, del. без лишних модулей
Пишу на Delphi все что угодно, недорого, красиво, с комментариями
###icq 107335###
MadReason вне форума Ответить с цитированием
Старый 04.02.2012, 19:40   #3
admroot
Пользователь
 
Аватар для admroot
 
Регистрация: 14.04.2009
Сообщений: 15
По умолчанию

я как раз просматривал этот пример, но у меня атрибуты постоянно key, только меняются их значения.... можно мне небольшой пример накидать, я первый раз столкнулся с xml
admroot вне форума Ответить с цитированием
Старый 04.02.2012, 19:46   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

С потолка:
Код:
if pos('<entry',s)<>0 then begin
 delete(s,1,pos('>',s));
 Result:=copy(s,1,pos('<',s)-1);
end;
Где Result вберет в себя значение innerText тега.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.02.2012, 20:01   #5
admroot
Пользователь
 
Аватар для admroot
 
Регистрация: 14.04.2009
Сообщений: 15
По умолчанию

[Error] Unit2.pas(186): Undeclared identifier: 'Result'
Можно плиз на моем примере разобрать... Благодарю
admroot вне форума Ответить с цитированием
Старый 04.02.2012, 20:22   #6
MadReason
Ищу работу
Форумчанин
 
Аватар для MadReason
 
Регистрация: 16.02.2007
Сообщений: 269
По умолчанию



Код:
function parse(s:string):string;
begin
  result:='';
if pos('<entry',s)<>0 then
begin
 delete(s,1,pos('>',s));
 Result:=copy(s,1,pos('<',s)-1);
end;
end;

procedure TForm1.btn1Click(Sender: TObject);
var i:Integer;
begin
Memo2.Clear;
for i:=0 to Memo1.Lines.Count-1 do
Memo2.Lines.Add(parse(Memo1.Lines.Strings[i]));
end;
Пишу на Delphi все что угодно, недорого, красиво, с комментариями
###icq 107335###
MadReason вне форума Ответить с цитированием
Старый 04.02.2012, 20:24   #7
admroot
Пользователь
 
Аватар для admroot
 
Регистрация: 14.04.2009
Сообщений: 15
По умолчанию

Огромное спасибо, все тлично работает! А никто не предложить решение этой задачи для стандартного компонента xml из вкладки Internet?

Последний раз редактировалось admroot; 04.02.2012 в 23:44.
admroot вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
xml парсинг Letnab Работа с сетью в Delphi 0 07.01.2012 12:56
Парсинг XML. Abuhamed PHP 1 01.06.2011 22:24
Парсинг XML [Smarik] Общие вопросы Delphi 6 13.03.2010 17:38
XML (парсинг MSXML2_TLB.pas) и Delphi 2009 S_Yevgeniy Помощь студентам 0 17.09.2009 18:22
XML (парсинг NativeXml ) и Delphi 2009 S_Yevgeniy Помощь студентам 13 17.09.2009 15:56