Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.03.19;
Скачать: CL | DM;

Вниз

Пример создания XML файла   Найти похожие ветки 

 
ancot   (2006-02-10 20:35) [0]

Всем доброго вечера. Есть у меня программа по расчету зарплаты, в ней формируется форма 2 НДФЛ в виде текстого файла. С 2005 года этот файл формируется в формате XML .
С XML столкнулся впервые. Пока только подключил uses MSXML2_TLB. Может кто подскажет простейший пример создания XML файла и как добавить в него значения.


 
ancot   (2006-02-10 20:44) [1]

Файл я все таки создал, но соответственно пустой:
 xml := CoFreeThreadedDOMDocument.Create;
 xml.async := false;
 xml.save(fl_name);


 
palva ©   (2006-02-10 23:02) [2]

Ну теперь надо данными заполнить. Типа так:

uses MSXML_TLB;

procedure TForm1.FormCreate(Sender: TObject);
var
 d: TDomDocument;
 e, c: IXmlDomElement;
 i: Integer;
begin
 d := TDomDocument.Create(nil);
 e := d.createElement("ROOT");
 c := d.createElement("ITEM");
 e.text := "text1";
 for i := 1 to 10 do begin
   c := d.createElement("ITEM");
   c.text := "item" + IntToStr(i);
   e.appendChild(c);
 end;
 d.documentElement := e;
 d.save("fl_name.xml");
end;


 
palva ©   (2006-02-10 23:40) [3]

А вообще лучше сделать с другого конца, чтобы русская Windows 1251 поддеживалась.
procedure TForm1.FormCreate(Sender: TObject);
var
 d: TDomDocument;
 e, c: IXmlDomElement;
 i: Integer;
begin
 d := TDomDocument.Create(nil);
 d.loadXML("<?xml version="1.0" encoding="Windows-1251"?><ROOT></ROOT>");
 e := d.documentElement;
 for i := 1 to 10 do begin
   c := d.createElement("ITEM");
   c.text := "&#242;&#229;&#234;&#241;&#242;" + IntToStr(i);
   e.appendChild(c);
 end;
 d.save("fl_name.xml");
end;


 
palva ©   (2006-02-10 23:42) [4]

Ну вот, опять проблема с русскими буквами! Ну вы поняли.


 
Defunct ©   (2006-02-10 23:47) [5]

> palva

Проблем с русским шрифтом не будет если копировать из Delphi с выбранной  русской раскладкой.


 
palva ©   (2006-02-11 09:54) [6]

Defunct ©   (10.02.06 23:47) [5]
Спасибо, попробую.


 
antoxa2005   (2006-02-12 09:51) [7]

А может быть обратиться в ... и спросить а какого каждый год новые программы, стандатры и форматы, а результат НУЛЕВОЙ?


 
ancot   (2006-02-15 23:32) [8]

Всем спасибо все давно получилось. Осталась одна проблема: в моем xml файле вторая строка выглядит так
<НДФЛ2 noNamespaceSchemaLocation="ДОХОД_2НДФЛ_01.xsd">
(это я сделал с при помощи    
d.loadXML("<?xml version="1.0" encoding="windows-1251"?<НДФЛ2></НДФЛ2>");
e := d.documentElement;
e.setAttribute("noNamespaceSchemaLocation", "ДОХОД_2НДФЛ_01.xsd");
) а в оригинале должно быть <НДФЛ2 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="ДОХОД_2НДФЛ_01.xsd"> причем кусок текста (xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance") при просмотре подсвечивается красным цветом. Что я забыл ? (в 1С для создания этой строки используется код: хмлКорень.УстановитьПространствоИмен("http://www.w3.org/2001/XMLSchema-instance", "xsi")("http://www.w3.org/2001/XMLSchema-instance", "xsi");



Страницы: 1 вся ветка

Текущий архив: 2006.03.19;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.068 c
1-1140011439
Spieler
2006-02-15 16:50
2006.03.19
Служба + форма


5-1127313019
Гость111
2005-09-21 18:30
2006.03.19
разница TStringGrid и TDrawGrid


2-1141152193
tyo
2006-02-28 21:43
2006.03.19
мелкий/крупный шрифт


15-1140600431
konrads
2006-02-22 12:27
2006.03.19
Выделить строки кода


2-1141392347
RomanH
2006-03-03 16:25
2006.03.19
Умный ComboBox