Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

формирование XML-файла [D7, WinXP]


zrv ©   (2006-07-27 14:33:00) 

Полностью привожу код:

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, XMLDoc, XMLIntf, ActiveX;

type
 TForm1 = class(TForm)
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;
 XMLfile: IXMLdocument;
 kNode,pNode,iNode: IXMLNode;

implementation

{$R *.dfm}

begin
{ TODO -oUser -cConsole Main : Insert code here }

CoInitialize(nil);

XMLfile := TXMLDocument.Create(nil);
XMLfile.Active:=true;
xmlfile.Encoding:='windows-1251';
xmlfile.Version:='1.0';

iNode:= XMLfile.AddChild('quiz');
inode.DeclareNamespace('','sdfsf');
iNode.SetAttributeNS('dd','','123');

pNode:=xmlfile.ChildNodes.Last.AddChild('asas');
pnode.Attributes['kk']:='345';
pnode.Attributes['ka']:='14';

kNode:=xmlfile.ChildNodes.Last.ChildNodes.Last.AddChild('rry');
knode.SetAttributeNS('rr','','56756');
kNode:=xmlfile.ChildNodes.Last.ChildNodes.Last.AddChild('yxcv');
knode.SetAttributeNS('cv','','234');

pNode:=xmlfile.ChildNodes.Last.AddChild('xvxcv');
pnode.SetAttributeNS('nn','','3');

XMLfile.SaveToFile('d:\tsk.xml');

end.

В результате получаю XML-файл:

 <?xml version="1.0" encoding="windows-1251" ?>
- <quiz xmlns="sdfsf" dd="123">
 - <asas xmlns="" kk="345" ka="14">
     <rry rr="56756" />
     <yxcv cv="234" />
   </asas>
 <xvxcv xmlns="" nn="3" />
 </quiz>

Подскажите как избавиться от xmlns="" в дочерних нодах.Почему он автоматом формирует их пустые и подскажите примером как можно это устранить.


zrv   (2006-07-27 15:37:00) [1]

Мастера ну что вам стоит пару строк кода для примера. Ну в тупик встал человек помогите пожалуйста.


Reindeer Moss Eater   (2006-07-27 15:04:00) [2]

Читай справку


zrv   (2006-07-27 15:01:00) [3]

Очень хорошая помощь. Обращаюсь чтобы подсказали, а не указывали на справку. Если не знаешь то не надо тыкать на справку, а знаешь так напиши код.


Reindeer Moss Eater   (2006-07-27 14:58:00) [4]

Читай справку.


zrv   (2006-07-27 14:53:00) [5]

inode.DeclareNamespace('','sdfsf');

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


Чапаев   (2006-07-27 14:40:00) [6]


> inode.DeclareNamespace('','sdfsf');

Вот это убрать. Или не жаловаться. :-)


Наверх

Титульная страница Поиск, карта сайта Написать письмо