![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() есть код
Код:
//////////////////////////////////////////////////////////////////////////////// // Сохранить 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. |