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

Вниз

Формирование XML-файла   Найти похожие ветки 

 
zhegulov   (2006-05-05 11:44) [0]

Помогите разобраться. Вот такой код по созданию 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 11:51) [1]

Нажми F1 на DeclareNamespace и внимательно прочитай справку.


 
Плохиш ©   (2006-05-05 12:06) [2]


> Reindeer Moss Eater ©   (05.05.06 11:51) [1]

Нет, F1 на SetAttributeNS нажимать надо ;-)


 
Reindeer Moss Eater ©   (2006-05-05 12:10) [3]

Лучше и там и там нажимать.


 
Плохиш ©   (2006-05-05 12:21) [4]

Хотя, сейчас по всякому попробовал, ничего не добавляется. Видно автор что-то не договаривает.


 
Reindeer Moss Eater ©   (2006-05-05 13:09) [5]

Просто префикс надо непустой при DeclareNamespace


 
zhegulov   (2006-05-05 13:20) [6]

В том-то и дело что не нужен префикс. Если его поставить ну хотя бы вот так:

inode.DeclareNamespace("pp","sdfsf");

то тогда понятно все будет вот так:

<quiz xmlns:pp="sdfsf" dd="123">
<asas kk="345"/>
</quiz>

Но дело в том что не нужен префикс. И не надо давать советы типа нажми F1 если знающий человек он всегда поможет конкретно.


 
Reindeer Moss Eater ©   (2006-05-05 13:22) [7]

Не надо F1?
Тогда жми Alt+F4 в IDE


 
Плохиш ©   (2006-05-05 13:33) [8]


> Reindeer Moss Eater ©   (05.05.06 13:09) [5]
> Просто префикс надо непустой при DeclareNamespace

Да я, собственно, как и автор пустой давал, не помогает, всё-равно ничего не добавляет :-)
Хотя у меня DOMVendor-ом "Xerces XML" стоит.


 
Reindeer Moss Eater ©   (2006-05-05 13:34) [9]

А у меня MSXML



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

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

Наверх




Память: 0.48 MB
Время: 0.049 c
2-1148469253
Konnor
2006-05-24 15:14
2006.06.11
Инет


15-1148037263
koval.
2006-05-19 15:14
2006.06.11
Помогите выбрать модуль памяти DDR SDRAM


2-1148630076
Лох
2006-05-26 11:54
2006.06.11
Incompatible types: Array and String


15-1147768208
ArtemESC
2006-05-16 12:30
2006.06.11
Алгоритм сортировки 3 чисел...


15-1147871929
Mobilnik
2006-05-17 17:18
2006.06.11
Факс с мобильного