![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Формирование XML-файла
zhegulov © (2006-05-05 11:44:00)Помогите разобраться. Вот такой код по созданию xml-файла:
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;
pNode,iNode: IXMLNode;
implementation
{$R *.dfm}
begin
CoInitialize(nil);
XMLfile := TXMLDocument.Create(nil);
XMLfile.Active:=true;
iNode:= XMLfile.AddChild('quiz');
inode.DeclareNamespace('','sdfsf');
iNode.SetAttributeNS('dd','','123');
pNode:=xmlfile.ChildNodes.Last.AddChild('asas');
pnode.SetAttributeNS('kk','','345');
XMLfile.SaveToFile('d:\aaa.xml');
end.
Вот что получается в XML-файле:
<quiz xmlns="sdfsf" dd="123">
<asas xmlns="" kk="345"/>
</quiz>
Никак не пойму почему в элементе asas еще присутствует атрибут xmlns="" и как сделать в программе так чтобы он не формировался?
Reindeer Moss Eater (2006-05-05 13:34:00) [1]А у меня MSXML
Плохиш (2006-05-05 13:33:00) [2]
> Reindeer Moss Eater © (05.05.06 13:09) [5]
> Просто префикс надо непустой при DeclareNamespace
Да я, собственно, как и автор пустой давал, не помогает, всё-равно ничего не добавляет :-)
Хотя у меня DOMVendor-ом "Xerces XML" стоит.
Reindeer Moss Eater (2006-05-05 13:22:00) [3]Не надо F1?
Тогда жми Alt+F4 в IDE
zhegulov (2006-05-05 13:20:00) [4]В том-то и дело что не нужен префикс. Если его поставить ну хотя бы вот так:
inode.DeclareNamespace('pp','sdfsf');
то тогда понятно все будет вот так:
<quiz xmlns:pp="sdfsf" dd="123">
<asas kk="345"/>
</quiz>
Но дело в том что не нужен префикс. И не надо давать советы типа нажми F1 если знающий человек он всегда поможет конкретно.
Reindeer Moss Eater (2006-05-05 13:09:00) [5]Просто префикс надо непустой при DeclareNamespace
Плохиш (2006-05-05 12:21:00) [6]Хотя, сейчас по всякому попробовал, ничего не добавляется. Видно автор что-то не договаривает.
Reindeer Moss Eater (2006-05-05 12:10:00) [7]Лучше и там и там нажимать.
Плохиш (2006-05-05 12:06:00) [8]
> Reindeer Moss Eater © (05.05.06 11:51) [1]
Нет, F1 на SetAttributeNS нажимать надо ;-)
Reindeer Moss Eater (2006-05-05 11:51:00) [9]Нажми F1 на DeclareNamespace и внимательно прочитай справку.