Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> xml write string help 
:(
    Опции темы
muratboy31
Дата 24.2.2010, 15:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 7.1.2010

Репутация: нет
Всего: нет



Hi everyone
i have a problem saving nodes to xml file...
i am trying to save the all nodes to xml on form closequery... can some one help me please ???

Код

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
var
i:integer;
begin
XMLdoc.ChildNodes.Clear;
XMLdoc.Version := '1.0';
XMLdoc.Encoding := 'ISO-8859-1';
with XMLdoc.AddChild('item') do
  begin
  AddChild('Tittle').Text := ListView1.Items.Add.Caption[i];
  AddChild('Link').Text := ListView1.Items.Add.SubItems.Add([i]);
end;
XMLdoc.SaveToFile('c:\favo.xml');
end;


Это сообщение отредактировал(а) muratboy31 - 24.2.2010, 16:40
PM MAIL   Вверх
muratboy31
Дата 24.2.2010, 17:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 7.1.2010

Репутация: нет
Всего: нет



below

Это сообщение отредактировал(а) muratboy31 - 24.2.2010, 18:50
PM MAIL   Вверх
muratboy31
Дата 24.2.2010, 17:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 7.1.2010

Репутация: нет
Всего: нет



i tried to do it with this code but it doesnt add <item> to every site !!! 

Код

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
var item: TListItem;
    index,
    subIndex: Integer;
    theFile: TStringList;
    Line : String;
begin
XMLdoc.ChildNodes.Clear;
XMLdoc.Version := '1.0';
XMLdoc.Encoding := 'ISO-8859-1';
 with XMLdoc.AddChild('Item') do
  begin
       theFile := TStringList.Create;
  for index := 0 to ListView1.Items.Count -1 do begin
  item := ListView1.Items[index];
  AddChild('Tittle').Text := item.Caption;
  AddChild('Link').Text := item.SubItems.CommaText;
  end;
  XMLdoc.SaveToFile('c:\favo.xml');
 end;
end;



this is how it saves to xml:
Цитата

<?xml version="1.0" encoding="ISO-8859-1"?>
<Item>

<Tittle>Google</Tittle>
<Link>www.google.com</Link>

<Tittle>Msn</Tittle>
<Link>www.msn.com</Link>

<Tittle>Yahoo</Tittle>
<Link>www.yahoo.com</Link>

</Item>


this is how it must save it: what do i have to do to save it like that ?
Цитата

<item>
<title>Google</title>
<link>www.google.com</link>
</item>
    
<item>
<title>Msn</title>
<link>www.msn.com</link>
</item>
    
<item>
<title>Yahoo</title>
<link>www.yahoo.com</link>
</item>    



i also attached the projact file so you can see the rest of the codes ...

Это сообщение отредактировал(а) muratboy31 - 28.2.2010, 18:59
PM MAIL   Вверх
muratboy31
Дата 28.2.2010, 17:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 7.1.2010

Репутация: нет
Всего: нет



can someone please help me ?
PM MAIL   Вверх
Frees
Дата 28.2.2010, 17:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 9
Всего: 54



Код

  XMLdoc.ChildNodes.Clear;
  XMLdoc.Version := '1.0';
  XMLdoc.Encoding := 'ISO-8859-1';
  theFile := TStringList.Create;
  for index := 0 to ListView1.Items.Count -1 do
  begin
    with XMLdoc.AddChild('Item') do
    begin
      item := ListView1.Items[index];
      AddChild('Tittle').Text := item.Caption;
      AddChild('Link').Text := item.SubItems.CommaText;
    end;
  end;
  XMLdoc.SaveToFile('c:\favo.xml');



--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
muratboy31
Дата 28.2.2010, 18:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 7.1.2010

Репутация: нет
Всего: нет



thanks again frees 

am i doing it right here ?
i want to load the listview items from xml but i get error loading it ...  how can i make it not to get error if there is no data or no file ? 
attached the file also 

Код

procedure TForm1.FormCreate(Sender: TObject);
var
  xFile : TFileName;
  StartItemNode : IXMLNode;
  ANode : IXMLNode;
  STitle, sLink : widestring;
begin
  xFile := ExtractFilePath(Application.ExeName) + 'Favo.xml';
  try
    if not FileExists(xFile) then
    begin
      raise exception.Create('No Headers !');
      Exit;
    end;
    ListView1.Clear;
    XMLDoc.FileName := xFile;
    XMLDoc.Active:=True;
    StartItemNode:=XMLDoc.DocumentElement.ChildNodes.First.ChildNodes.FindNode('item');
    ANode := StartItemNode;
    repeat
      STitle := ANode.ChildNodes['title'].Text;
      sLink := ANode.ChildNodes['link'].Text;
      with ListView1.Items.Add do
      begin
        Caption := STitle;
        SubItems.Add(sLink);
      end;
       ANode := ANode.NextSibling;
    until ANode = nil;
  finally
  end;
end;


Это сообщение отредактировал(а) muratboy31 - 28.2.2010, 18:13

Присоединённый файл ( Кол-во скачиваний: 3 )
Присоединённый файл  Favourites.rar 9,95 Kb
PM MAIL   Вверх
Frees
Дата 28.2.2010, 18:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 9
Всего: 54



Код

  try
    if not FileExists(xFile) then
    begin
      raise exception.Create('No Headers !');
      Exit;
    end;
    ListView1.Items.Clear;
    XMLDoc.FileName := xFile;
    XMLDoc.Active:=True;

    for I := 0 to XMLDoc.ChildNodes.Count - 1 do
    begin
      with XMLDoc.ChildNodes.Get(I) do
      begin
        STitle := ChildNodes['Title'].Text;
        sLink := ChildNodes['Link'].Text;
        with ListView1.Items.Add do
        begin
          Caption := STitle;
          SubItems.Add(sLink);
        end;
      end;
    end;
  finally
  end;


Это сообщение отредактировал(а) Frees - 28.2.2010, 18:28


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
muratboy31
Дата 28.2.2010, 18:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 7.1.2010

Репутация: нет
Всего: нет



i have this in xml file but it doesnt load it to listview !!

Цитата

<?xml version="1.0" encoding="ISO-8859-1"?>
<Item><Tittle>google</Tittle><Link>www.google.com</Link></Item>



Код

procedure TForm1.FormCreate(Sender: TObject);
var
  xFile : TFileName;
  StartItemNode : IXMLNode;
  ANode : IXMLNode;
  STitle, sLink : widestring;
  I:integer;
begin
  xFile := 'Favo.xml';
  try
    if not FileExists(xFile) then
    begin
      raise exception.Create('No Headers !');
      Exit;
    end;
    ListView1.Items.Clear;
    XMLDoc.FileName := xFile;
    XMLDoc.Active:=True;
    for I := 0 to XMLDoc.ChildNodes.Count - 1 do
    begin
      with XMLDoc.ChildNodes.Get(I) do
      begin
        STitle := ChildNodes['Tittle'].Text;
        sLink := ChildNodes['Link'].Text;
        with ListView1.Items.Add do
        begin
          Caption := STitle;
          SubItems.Add(sLink);
        end;
      end;
    end;
  finally
  end;
end;


Это сообщение отредактировал(а) muratboy31 - 28.2.2010, 18:53
PM MAIL   Вверх
muratboy31
Дата 1.3.2010, 10:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 230
Регистрация: 7.1.2010

Репутация: нет
Всего: нет



i am getting error but i dont know why ??? i attached the project if someone can correct me i will b happy...

user posted image

user posted image


thanks

Присоединённый файл ( Кол-во скачиваний: 4 )
Присоединённый файл  Favourites.rar 9,76 Kb
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0505 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.