|
|
#4 |
|
Участник
|
У 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> |
|
|