Главная страница
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.061 c
15-1147840595
Layner
2006-05-17 08:36
2006.06.11
ActiveX в браузере IE6, браузер постоянно пишет:


2-1148414681
Бегин
2006-05-24 00:04
2006.06.11
Запись массива в файл


2-1148247025
Firefly
2006-05-22 01:30
2006.06.11
FileStream


15-1147795541
TUser
2006-05-16 20:05
2006.06.11
Наместник Императора :)


15-1147971720
срочно
2006-05-18 21:02
2006.06.11
Базы данных