|
![]() |
#1 |
Участник
|
У xml документа строгая внутренняя структура, похожая на дерево, и должен быть обязательный корневой элемент.
Есть замечательный кодеюнит 6224 XML DOM Management, в котором собраны ф-ции для работы с xml документом с отловом ошибок. Пример будет построен на использовании ф-ций, указанного кодеюнита. Код: CREATE(xmlDocument); // тэг Root будет нашим корнем. // при создании документа в loadxml подставляется начальный заголовок файла, // а при разборе путь до загружаемого файла xmldocument.loadxml := '<?xml version="1.0" encoding="utf-8"?><Root/>'; // Указываем переменную на корневой элемент XMLNode := xmldocument.documentElement; IF AddElement(XMLNode,'Message', '', NameSpace, XMLNodeChild) > 0 THEN EXIT; //Переходим внутрь тега Message XMLNode := XMLNodeChild; IF AddElement(XMLNode, 'sender', 'Вася', NameSpace, XMLNodeChild) > 0 THEN EXIT; IF AddElement(XMLNode, 'recipient', 'Петя', NameSpace, XMLNodeChild) > 0 THEN EXIT; IF AddElement(XMLNode, 'issue', format(today), NameSpace, XMLNodeChild) > 0 THEN EXIT; // переходим в тэг root XMLNodeChild := XMLNode; XMLNode := XMLNodeChild.parentNode; // Создаем следующий тег IF AddElement(XMLNode, 'Message2', '', NameSpace, XMLNodeChild) > 0 THEN EXIT; XMLNode := XMLNodeChild; IF AddElement(XMLNode, 'Item', 'Велик', NameSpace, XMLNodeChild) > 0 THEN EXIT; xmldocument.save(path); Переменные XMLNode Automation 'Microsoft XML, v3.0'.IXMLDOMNode XMLNodeChild Automation 'Microsoft XML, v3.0'.IXMLDOMNode NameSpace Text 255 Документ будет иметь следующий вид: Код: <?xml version="1.0" encoding="utf-8" ?> <Root> <Message> <sender>Вася</sender> <recipient>Петя</recipient> <issue>2011-12-02</issue> </Message> <Message2> <Item>Велик</Item> </Message2> </Root> |
|