Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> TXMLDocument, Помогите разобраться 
V
    Опции темы
Ak47black
  Дата 23.12.2006, 15:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: 1
Всего: 0



Можете ктонибудь подкинуть статей про TXMLDocument ,а то мне эта тема очень мутная.
PM MAIL   Вверх
Snowy
Дата 23.12.2006, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Почитай умную книжку.
Например Пачеко или Кэнту smile
Там всё есть.
PM MAIL   Вверх
Ak47black
Дата 23.12.2006, 18:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: 1
Всего: 0



У меня теперь конкретный вопрос 
Имею следуший код 
Код

var
  XMLDocument: TXMLDocument;
  node: IXMLNode;
begin
  CoInitialize(nil);
  XMLDocument := TXMLDocument.Create(nil);
  XMLDocument.Active := True;
  node:= XMLDocument.AddChild('Test');
  node.AddChild('hi1');
  node.AddChild('hi2');
  ShowMessage(XMLDocument.XML.Text);
  XMLDocument.SaveToFile('xml.xml');
  //FreeAndNil(XMLDocument);
end;

Как сделать что-бы результат был
Код

<Test>
<hi1/>
<hi2/>
</Test>

А не всё в одной строке?
Код

<Test><hi1/><hi2/></Test>

PM MAIL   Вверх
MetalFan
Дата 23.12.2006, 20:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 62
Всего: 128



Код

XMLDocument.Options := XMLDocument.Options + [doNodeAutoIndent];



--------------------
There are always someone smarter than you...
PM MAIL   Вверх
Ak47black
Дата 23.12.2006, 20:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: 1
Всего: 0



MetalFan,  Спасибо +
PM MAIL   Вверх
yus
Дата 24.7.2008, 07:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 1.2.2007
Где: Tomsk

Репутация: нет
Всего: нет



В продолжение вопроса по разметке XML.
Имеется XML файл в котором все выглядит как
Код

<Test><hi1/><hi2/></Test>

При загрузке XML документа в TXMLDocument и последующем сохранении в другой файл все равно XML код остается одной строкой.
Как сделать, чтоб он сохранился структурировано?
вот так
Код

<Test>
<hi1/>
<hi2/>
</Test>



Это сообщение отредактировал(а) yus - 24.7.2008, 07:11
PM MAIL ICQ Jabber   Вверх
hawkins
Дата 24.7.2008, 13:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 148
Регистрация: 8.9.2003

Репутация: нет
Всего: нет



Попробуй загнать эту строку в XMLDocument.XML а потом сохранить.
PM MAIL   Вверх
yus
Дата 25.7.2008, 13:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 27
Регистрация: 1.2.2007
Где: Tomsk

Репутация: нет
Всего: нет



не помогает вот код как я это делаю
Код

procedure TForm1.Button1Click(Sender: TObject);
var
  XMLDocument: TXMLDocument;
  Str: string;
begin
  XMLDocument := TXMLDocument.Create(nil);
  XMLDocument.Options := XMLDocument.Options + [doNodeAutoIndent];
  XMLDocument.Active := true;
  XMLDocument.LoadFromFile('C:\test.xml');
  Str := XMLDocument.XML.Text;
  FreeAndNil(XMLDocument);

  XMLDocument := TXMLDocument.Create(nil);
  XMLDocument.Options := XMLDocument.Options + [doNodeAutoIndent];
  XMLDocument.XML.Text := Str;
  XMLDocument.Active := true;
  XMLDocument.SaveToFile('c:\test1.xml');
  FreeAndNil(XMLDocument);

end;

Если самому узлы заполнять то они нормально заполняются а когда вот таким вот присваиванием, то не получается.

Это сообщение отредактировал(а) yus - 28.7.2008, 08:45
PM MAIL ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1301 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.