Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2006.03.19;
Скачать: [xml.tar.bz2];

Вниз

Пример создания 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.014 c
1-1139925539
BFG9k
2006-02-14 16:58
2006.03.19
Событие с несколькими обработчиками


2-1141560744
dabreezy
2006-03-05 15:12
2006.03.19
Свертывание формы


3-1138614007
Barsky
2006-01-30 12:40
2006.03.19
Чтение Number из файла Paradox (*.db)


3-1138186334
alenamc
2006-01-25 13:52
2006.03.19
Проблема c BookMark


6-1133353072
alexx1524
2005-11-30 15:17
2006.03.19
indy, IdMessage, TidAttachment





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский