Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 18.12.2012, 12:26
steep steep вне форума
Прохожий
 
Регистрация: 10.01.2012
Сообщения: 7
Репутация: 10
По умолчанию Запись в XML аттрибутов

есть код
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
////////////////////////////////////////////////////////////////////////////////
//  Сохранить XML
////////////////////////////////////////////////////////////////////////////////
function TConverter.SaveTree(var Tree: OleVariant; const path: WideString): Integer;
var XMLdoc: OleVariant;
    rootTree :oleVariant;
    EmptyXML:widestring;
begin
  result := 0;
  XMLdoc := CreateOleObject('MSXML2.DOMdocument');
  try
    rootTree := Tree.Rows.Get(0);
    EmptyXML := '<' + VarToStr(rootTree.get(0)) + '></' + VarToStr(rootTree.get(0)) + '>';
    XMLdoc.loadXML(EmptyXML);
 
    WriteElement(rootTree,XMLdoc.documentElement);
 
    XMLdoc.save(path);
  finally
    XMLdoc := 0;
  end;
end;
 
////////////////////////////////////////////////////////////////////////////////
// Чтение элемента
////////////////////////////////////////////////////////////////////////////////
procedure WriteElement(root1C,rootXML : OleVariant);
var i:integer;
    currentRow, newNode, loAttr:oleVariant;
 
begin
  for i:=0 to root1C.rows.count-1 do
  begin
    currentRow := root1C.rows.get(i);
    //сколотить элемент
    newNode := rootXML.ownerDocument.createNode(1,VarToStr(currentRow.get(0)),'');
 
    //если нет подчинённых строк то ставим значение иначе добавляем
    if currentRow.rows.count = 0 then
       newNode.text := VarToStr(currentRow.get(1))
    else
       WriteElement(currentRow,newNode);
    rootXML.appendChild(newNode);
  end;
end;
Админ: Пользуемся тегами для оформления кода!

Он нормально работает, и сохраняет значение в таком виде
http://ybex.com/d/h2e700bmkwijqxjxn6...xoea7j6e0.html
а нужно в таком,т.е. как аттрибуты
http://ybex.com/d/v64umk2ctvgebkk8fu...4dpmyh2ma.html
Подскажите пожалуйста, как сделать что бы сохранял как атрибуты

Последний раз редактировалось Admin, 18.12.2012 в 12:35.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 06:58.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025