В данном запросе пользователь столкнулся с необходимостью извлечения значения атрибута numero из тега <processo> в XML-документе, используя компонент IXMLDocument в среде разработки Delphi. Рассмотрим, как это можно сделать, шаг за шагом.
Шаг 1: Загрузка XML-документа
Сначала необходимо загрузить XML-документ в переменную типа IXMLDocument. Это можно сделать с помощью функции LoadXMLDocument, указав путь к файлу XML.
uses
XMLDoc, XMLIntf;
procedure TForm3.Button1Click(Sender: TObject);
var
I: Integer;
NumberAttr: IXMLNode;
XMLDocument: IXMLDocument;
ProcessNodes: IXMLNodeList;
begin
// Загрузка XML файла
XMLDocument := LoadXMLDocument('c:\File.xml');
// Получение списка всех узлов <revista/processo>
ProcessNodes := XMLDocument.DocumentElement.ChildNodes.FindNode('revista').ChildNodes; // Уточним, что ищем внутри <revista>
// Итерация по списку узлов <processo>
for I := 0 to ProcessNodes.Count - 1 do
begin
// Поиск атрибута "numero" для текущего узла <processo>
NumberAttr := ProcessNodes[I].Attributes['numero'];
// Проверка на существование атрибута и вывод его значения
if Assigned(NumberAttr) then
ShowMessage(NumberAttr.Text);
end;
end;
Шаг 2: Работа с атрибутами
Для извлечения атрибута numero необходимо использовать свойство Attributes узла, а затем получить доступ к нужному атрибуту по имени.
Шаг 3: Обработка вложенных узлов
Если нужно извлечь значения атрибутов из вложенных узлов, таких как <despacho>, необходимо сначала получить доступ к списку детей текущего узла, а затем уже работать с атрибутами этих узлов.
// Получение списка узлов <despachos>
var
DespachosNodes: IXMLNodeList;
begin
DespachosNodes := ProcessNodes[I].ChildNodes.FindNode('despachos').ChildNodes;
// Итерация по узлам <despacho>
for var J := 0 to DespachosNodes.Count - 1 do
begin
// Получение атрибута 'codigo' для текущего узла <despacho>
var CodigoAttr: IXMLNode;
CodigoAttr := DespachosNodes[J].Attributes['codigo'];
// Проверка и вывод значения атрибута
if Assigned(CodigoAttr) then
ShowMessage(CodigoAttr.Text);
end;
end;
Заключение
Извлечение значений атрибутов XML в Delphi с использованием IXMLDocument предполагает понимание структуры XML-документа и работы с узлами и атрибутами в рамках этого документа. Приведенные примеры кода демонстрируют базовый подход к решению поставленной задачи.
В данном запросе пользователя рассматривается процесс извлечения значений атрибутов из XML-документа в среде разработки Delphi с использованием компонента IXMLDocument.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.