Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Извлечение Значений Атрибутов XML в Delphi с использованием IXMLDocument

Delphi , Интернет и Сети , XML

В данном запросе пользователь столкнулся с необходимостью извлечения значения атрибута 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




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: XML ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-02-05 12:51:41/0.0033969879150391/0