Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Комментарий в XML


Автор: v258 16.10.2010, 19:38
Создаю XML-файл примерно вот так
Код

  XMLDocument1 := TXMLDocument.Create(Self);
  XMLDocument1.Active := true;
  XMLDocument1.Encoding := 'Windows-1251';
  XMLDocument1.Options := XMLDocument1.Options + [doNodeAutoIndent];
  XMLDocument1.AddChild('root').AddChild('test');
  XMLDocument1.SaveToFile('d:\test1.xml');
  XMLDocument1.Active := false;
  XMLDocument1.Free;

Получается файл такого вида
Код

<?xml version="1.0" encoding="Windows-1251"?>
<root>
  <test/>
</root>

А хотелось бы получить файл такого вида
Код

<?xml version="1.0" encoding="Windows-1251"?>
<!-- Комментарий -->
<root>
  <test/>
</root>

С добавлением комментария в любую ноду разобрался, а как можно добавить комментарий сразу после объявления?

Автор: Matematik 17.10.2010, 10:13
NativeXML вроде так умеет.

Автор: cat512 17.10.2010, 13:28
Код

var
  Xml: IXmlDomDocument;
  E: IXmlDomNode;
begin
 xml := createDomDocument;
  E := Xml.createComment('ggg');
  Xml.appendChild(E);
  E:=Xml.createElement('root');
  Xml.appendChild(E);
  Xml.save('f1.xml');
end;

По аналогии TXmlDocument, должен также создавать коменты

Автор: v258 17.10.2010, 17:05
Да, получилось, спасибо
Код

  XMLDocument1 := TXMLDocument.Create(Self);
  XMLDocument1.Active := true;
  XMLDocument1.Encoding := 'Windows-1251';
  XMLDocument1.Options := XMLDocument1.Options + [doNodeAutoIndent];
  nd := XMLDocument1.CreateNode('Комментарий',ntComment);
  XMLDocument1.ChildNodes.Add(nd);
  XMLDocument1.AddChild('root').AddChild('test');
  XMLDocument1.SaveToFile('d:\test1.xml');
  XMLDocument1.Active := false;
  XMLDocument1.Free;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)