Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование лекции.doc
Скачиваний:
49
Добавлен:
12.11.2019
Размер:
5.53 Mб
Скачать

34.4. Использование xml

Как уже пояснялось, при создании XML-документа используется его представление в виде DOM модели. Ниже приведен пример части текста Delphi программы создания заголовка xml сообщения.

procedure TThread1.HeaderCreate(Sender: Tobject);

var

// объявление сокласса, необходим для создания

coDoc : CoDomDocument ;

// объекта XMLDomDocument

Doc : DomDocument ;

// объявление объектов DOMElement

r : IXMLDOMElement;

Node : IXMLDOMElement;

// DOMText

txt : IXMLDOMText;

// DOMAttribute

attr : IXMLDOMAttribute;

begin

// создание документа DOM

Doc:=coDoc.Create;

// установка синхронного режима обработки

Doc.Set_async(false);

// начальная инициация DOM документа

Doc.LoadXML('');

// получение адреса корневого элемента

r:=Doc.Get_documentElement;

// создание DOMElement (таг <Sender>)

Node := Doc.createElement ( 'Sender');

// создание текстового узла 'ООО "Тайфун"'

txt := Doc.createTextNode( 'ООО "Тайфун"');

// присвоение узлу <Sender> значение

// текстового узла 'ООО "Тайфун"'

Node.appendChild(txt);

// добавление элемента <Sender> в корень документа как дочернего

r.appendChild(Node);

// аналогичные операции для тага <From>

Node := Doc.createElement ( 'From');

txt := Doc.createTextNode( 'http://tayfun.ru/xml/default.asp');

Node.appendChild(txt);

r.appendChild(Node);

// аналогичные операции для тага <To>

Node := Doc.createElement ( 'To');

txt := Doc.createTextNode( 'http://irbis.ru');

Node.appendChild(txt);

r.appendChild(Node);

// создание DOMElement ()

Node := Doc.createElement ( 'TypeDocument');

// создание узла XMLDOMAttribute

Att := Doc.createAttribute ( 'Id ', ' Order');

// <TypeDocument Id="Order"/>

Node.appendChild(Att);

r.appendChild(Node);

end;

Следует отметить, что объявление переменной coDoc : CoDomDocument и Doc:DomDocument , а также ее создание методом Create ( Doc:=coDoc.Create;) осуществляется один раз. Объявление переменной находится в секции описания глобальных переменных, а не в локальной процедуре, как было продемонстрировано для наглядности в данном примере (т.е. одна глобальная переменная типа DomDocument на один программный модуль).

35.Основы программирования для Интернет

Одна из наиболее часто решаемых задач – создание автоматически обновляемого Web-сайта. Например, на нем может выкладываться лента новостей, прайс-лист, текущие цены, курсы валют и пр. Delphi позволяет легко реализовать систему автоматической генерации Web-страниц. Поставленная задача разделяется на две:

  1. Генерация HTML-страницы и ее сохранение на локальном диске компьютера.

  2. Отправка созданной страницы на Web-сервер.