Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2006.06.11;
Скачать: [xml.tar.bz2];

Вниз

Формирование 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.012 c
3-1145275914
Сергей И
2006-04-17 16:11
2006.06.11
запись из БД в EXEL


1-1146652023
Бормодед
2006-05-03 14:27
2006.06.11
Правильный превью


2-1148638621
Антоныч
2006-05-26 14:17
2006.06.11
Запуск Excel из дополнительного потока


1-1146891942
chizra
2006-05-06 09:05
2006.06.11
Установка Delphi5 поверх Delphi6


6-1132611185
0xBAD
2005-11-22 01:13
2006.06.11
TWebBrowser и фреймы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский