![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
формирование 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');
Вот это убрать. Или не жаловаться. :-)