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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.04.2010, 08:55   #21
eek_eek
 
Регистрация: 20.04.2010
Сообщений: 8
По умолчанию

простите за археологию, но думаю этот вопрос вполне логично будет задать сюда, тем более раз уж тема не закрыта. есть 2 файла (которые впоследствии надо будет сравнить) чтобы понять как с ними работать, для начала надо отпарсить. один из них, который начинается на:

Цитата:
- <fno code="200.00" version="17" formatVersion="1">
- <form name="form_200_00">
- <sheetGroup>
- <sheet name="page_200_00_01">
<field name="dt_final">false</field>
....
прекрасно парсится. НО! другой:

Цитата:
<?xml version="1.0" encoding="UTF-8" ?>
- <fno code="200.00" version="7" id="362552" documentId="635969" formatVersion="1">
- <form name="form_200_00" id="1239170">
- <sheetGroup id="1338221">
- <sheet name="page_200_00_01" id="5108335">
<field name="field_200_00_002_2" id="212778145" />
с вот таким началом парситься не хочет, выдавая ошибку:

Цитата:
Line too long on line 1
как это можно обойти?

как бы понятно, что загвоздка в
Цитата:
<?xml version="1.0" encoding="UTF-8" ?>
<--- этой строчке... но что делать?

Последний раз редактировалось eek_eek; 20.04.2010 в 09:00.
eek_eek вне форума Ответить с цитированием
Старый 20.04.2010, 11:49   #22
GenniY
Форумчанин
 
Регистрация: 09.09.2009
Сообщений: 181
По умолчанию

Какой парсер используешь?
Получил помощь — отблагодарил.
GenniY вне форума Ответить с цитированием
Старый 20.04.2010, 13:11   #23
eek_eek
 
Регистрация: 20.04.2010
Сообщений: 8
По умолчанию

из второго поста, ECXMLParser
eek_eek вне форума Ответить с цитированием
Старый 20.04.2010, 13:27   #24
GenniY
Форумчанин
 
Регистрация: 09.09.2009
Сообщений: 181
По умолчанию

Покажи код загрузки файла и на каком этапе выскакивает ошибка?
Получил помощь — отблагодарил.
GenniY вне форума Ответить с цитированием
Старый 20.04.2010, 13:34   #25
eek_eek
 
Регистрация: 20.04.2010
Сообщений: 8
По умолчанию

Цитата:
procedure DrawXMLItem(XMLItem: TXMLItem);
var
I : Integer;
begin
Memo1.Lines.Add(XMLItem.Name+' : '+XMLItem.Text);
for i := 0 to XMLItem.SubItemCount-1 do
DrawXMLItem(XMLItem.SubItems[i]);
end;

begin
XML.LoadFromFile('d:\test\200kn.xml '); //любой xml файл, для тестирования можно и здесь указать
Memo1.Lines.BeginUpdate;
DrawXMLItem(XML.Root);
Memo1.Lines.EndUpdate;
end;
http://yfrog.com/6f123uxj - скрин

не получается вставить через тег [имг][/имг] =\
eek_eek вне форума Ответить с цитированием
Старый 20.04.2010, 13:38   #26
GenniY
Форумчанин
 
Регистрация: 09.09.2009
Сообщений: 181
По умолчанию

Так где ошибка выскакивает?
Получил помощь — отблагодарил.
GenniY вне форума Ответить с цитированием
Старый 20.04.2010, 13:43   #27
eek_eek
 
Регистрация: 20.04.2010
Сообщений: 8
По умолчанию

на скрине сверху окошко, там собсно сама ошибка, это не ошибка компиляции
eek_eek вне форума Ответить с цитированием
Старый 20.04.2010, 13:55   #28
GenniY
Форумчанин
 
Регистрация: 09.09.2009
Сообщений: 181
По умолчанию

Цитата:
это не ошибка компиляции


А почему ты экземпляр класса не создаешь? Может в этом ошибка...

С этим компонентом не работал.

Всем рекомендую и даже в этой теме писал — лучше NativeXml ничего нету! Сейчас он тем более бесплатен. http://www.simdesign.nl/xml.html
Получил помощь — отблагодарил.
GenniY вне форума Ответить с цитированием
Старый 20.04.2010, 13:59   #29
eek_eek
 
Регистрация: 20.04.2010
Сообщений: 8
По умолчанию

простите дурака, а что такое экземпляр класса?

просто файл без той строчки прекрасно парсится. ещё кстати вопрос по поводу nativexml это тоже библиотека для дельфов? и как потом из отпарсенного хмла нужные значения выдрать?
eek_eek вне форума Ответить с цитированием
Старый 20.04.2010, 14:49   #30
GenniY
Форумчанин
 
Регистрация: 09.09.2009
Сообщений: 181
По умолчанию

Сделай так.

XML := ECXMLParser.Create(Self);
XML.LoadFromFile('d:\test\200kn.xml ');
Memo1.Lines.BeginUpdate;
DrawXMLItem(XML.Root);
Memo1.Lines.EndUpdate;
Xml.free;

NativeXml конечно подходит для Делфи. Вместе с парсером идет документация с примерами. Там всё просто.
Получил помощь — отблагодарил.
GenniY вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
XML (Delphi) VadEr Помощь студентам 11 23.06.2009 23:32
xml в delphi /Arven/ Компоненты Delphi 0 23.04.2008 22:47
SQl+DELPHI+XML Рома БД в Delphi 5 17.08.2007 04:21
Xml и Delphi KlErik Общие вопросы Delphi 2 14.05.2007 09:54