Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 21.12.2015, 12:52
Maxjuvefan Maxjuvefan вне форума
Прохожий
 
Регистрация: 24.08.2015
Сообщения: 30
Версия Delphi: delphi 2010
Репутация: 10
По умолчанию Создание в Delphi 2010 xml файла нужного формата

Ребят, столкнулся с такой проблемой - как создать в Delphi 2010 xml файл, чтобы был один корневой тег, в котором есть несколько переменных? Значения переменных будут браться из БД на SQL.

Нужно, чтобы xml файл выглядел таким образом:

<?xml version="1.0" encoding="utf-16"?>
<AssignmentQR text00_Вид="Документ" text01_Начальник="Начальник отдела ИТ" text02_фио="Иванов А.В." />

Именно такой формат нужен, чтобы созданные xml файлы открывались через другую программу и обрабатывались там.

Пробую сделать через AddChild, но оно создает много тегов, а нужно, чтобы все было в одном.
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  Xml: IXMLDocument;
begin
  // создаем
  Xml := TXMLDocument.Create (nil);
  Xml.Active := true;
// создаем
  with Xml do
    begin
      // создаем корневой узел
      with AddChild ('AssignmentQR') do
        begin
       // дочерние элементы
            ChildValues ['text02_фио'] := '=" Иванов  А.В."';
            ChildValues ['text01_Начальник'] := '="Начальник отдела ИТ"';
            ChildValues ['text00_Вид'] := '="Документ"';
        end;  // with
    end;  // with: создаем
Xml.SaveToFile ('D:\44.xml');
end;

Пробую сделать через Add, возникает проблема длины строки, нужная строка больше 255 символов (textN много). Файл получается, но через браузер не отрывается.
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  Xml: TStringList;
begin
   // создаем объект
   Xml := TStringList. Create;
   // формируем документ
   Xml. Add ('<?xml version="1.0" encoding="UTF-16"?>');
   Xml. Add ('< AssignmentQR text00_Вид="Документ" text01_Начальник="Начальник отдела ИТ" text02_фио="Иванов А.В."/>');
   // записываем
   Xml. SaveToFile ('D:\333333.xml');
   // освобождаем память
   FreeAndNil (Xml);
end;
Админ: Пользуемся тегами для оформления кода, иначе последуют санкции!

Помогите, кто чем может.

Последний раз редактировалось Admin, 21.12.2015 в 19:32.
Ответить с цитированием
  #2  
Старый 21.12.2015, 14:58
Аватар для @Rafa3L
@Rafa3L @Rafa3L вне форума
Начинающий
 
Регистрация: 09.11.2011
Адрес: Москва
Сообщения: 144
Версия Delphi: XE2
Репутация: 11216
По умолчанию

Код:
function SaveToXMLFile(s1, s2, s3, FileName: string): bool;
begin
 with TStringList.Create do
  begin
   Add('<?xml version="1.0" encoding="utf-16"?>');
   Add('<AssignmentQR text00_Вид="' + s1 +
       '" text01_Начальник="'       + s2 +
       '" text02_фио="'             + s3 + '" />');

   SaveToFile(FileName);
   Free;
  end;
 Result:= FileExists(FileName);
end;
4250
__________________
Помогаю платно.
Помогаю иногда бесплатно.
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 00:03.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter