В коде были баги ... но я их преодолел
Код: Выделить всё
!*********************(с)
#component "CreateXML"
.autoform 'CreateXML'
.ard
.nameinlist 'Создать XML'
.Table blank
.var
FileName:string;
domDocument,node,node1,node2,rootXMLElement,rootNode,Document_Root,SP_Document:longint;
.endvar
.begin
FileName:=GetFileName('*.xml','Выбрать файл');
if(FileName<>'') Then
{
//новый xml
domDocument := XMLDOMDoc_New;
//Заголовок
node1 := XMLDOMDoc_CreateProcessingInstruction(domDocument, 'xml', 'version="1.0" encoding="UTF-8" standalone="yes"');
node2 := XMLDOMNode_AppendChild(domDocument, node1);
XMLDOMNode_Release(node1);
XMLDOMNode_Release(node2);
//корневой элемент
rootXMLElement:= XMLDOMDoc_CreateElement(domDocument, 'XML_Root');
rootNode := XMLDOMNode_AppendChild(domDocument , rootXMLElement);
//******************************************************записываем элемент****************************
//создаем Элемент
Document_Root := XMLDOMDoc_CreateElement(domDocument, 'Document_Root');
rootNode := XMLDOMNode_AppendChild(rootXMLElement , Document_Root);
//заполняем атрибуты элемент
XMLDOMElement_SetAttribute(Document_Root, 'Name', 'Верхний уровень')
XMLDOMElement_SetAttribute(Document_Root, 'Nrec', '000100uph')
//создаем спецификацию
SP_Document := XMLDOMDoc_CreateElement(domDocument, 'SP_Document');
rootNode := XMLDOMNode_AppendChild(Document_Root, SP_Document);
XMLDOMElement_SetAttribute(SP_Document, 'Name', 'Спецификация1')
XMLDOMElement_SetAttribute(SP_Document, 'Nrec', '00010000000001h')
XMLDOMNode_Release(SP_Document);
SP_Document := XMLDOMDoc_CreateElement(domDocument, 'SP_Document');
rootNode := XMLDOMNode_AppendChild(Document_Root, SP_Document);
XMLDOMElement_SetAttribute(SP_Document, 'Name', 'Спецификация2')
XMLDOMElement_SetAttribute(SP_Document, 'Nrec', '00010000000002h')
XMLDOMNode_Release(SP_Document);
SP_Document := XMLDOMDoc_CreateElement(domDocument, 'SP_Document');
rootNode := XMLDOMNode_AppendChild(Document_Root, SP_Document);
XMLDOMElement_SetAttribute(SP_Document, 'Name', 'Спецификация3')
XMLDOMElement_SetAttribute(SP_Document, 'Nrec', '00010000000003h')
XMLDOMNode_Release(SP_Document);
XMLDOMNode_Release(rootNode); //запись сецификация
XMLDOMNode_Release(Document_Root);//запись элемент
//******************************************************записываем элемент****************************
//******************************************************записываем элемент****************************
//создаем Элемент
Document_Root := XMLDOMDoc_CreateElement(domDocument, 'Document_Root');
rootNode := XMLDOMNode_AppendChild(rootXMLElement , Document_Root);
//заполняем атрибуты элемент
XMLDOMElement_SetAttribute(Document_Root, 'Name', 'Верхний уровень 2')
XMLDOMElement_SetAttribute(Document_Root, 'Nrec', '000100up22222h')
//создаем спецификацию
SP_Document := XMLDOMDoc_CreateElement(domDocument, 'SP_Document');
rootNode := XMLDOMNode_AppendChild(Document_Root, SP_Document);
XMLDOMElement_SetAttribute(SP_Document, 'Name', 'Спецификация12')
XMLDOMElement_SetAttribute(SP_Document, 'Nrec', '000100000000012h')
XMLDOMNode_Release(SP_Document);
SP_Document := XMLDOMDoc_CreateElement(domDocument, 'SP_Document');
rootNode := XMLDOMNode_AppendChild(Document_Root, SP_Document);
XMLDOMElement_SetAttribute(SP_Document, 'Name', 'Спецификация22')
XMLDOMElement_SetAttribute(SP_Document, 'Nrec', '000100000000022h')
XMLDOMNode_Release(SP_Document);
SP_Document := XMLDOMDoc_CreateElement(domDocument, 'SP_Document');
rootNode := XMLDOMNode_AppendChild(Document_Root, SP_Document);
XMLDOMElement_SetAttribute(SP_Document, 'Name', 'Спецификация32')
XMLDOMElement_SetAttribute(SP_Document, 'Nrec', '000100000000032h')
XMLDOMNode_Release(SP_Document);
XMLDOMNode_Release(rootNode);//запись сецификация
XMLDOMNode_Release(Document_Root);//запись элемент
//******************************************************записываем элемент****************************
XMLDOMNode_Release(rootXMLElement);//закрываем документ
XMLDOMDoc_Save(domDocument, FileName);
XMLDOMDoc_Done(domDocument);
}
CreateXML.fexit;
end.
.endform