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

есть код
Код:
////////////////////////////////////////////////////////////////////////////////
//  Сохранить 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
Подскажите пожалуйста, как сделать что бы сохранял как атрибуты
Ответить с цитированием