Я новичок в использовании XML в Delphi и использовал уже опубликованные вопросы, чтобы узнать, что мне нужно знать (спасибо!). Однако ... Я изо всех сил пытаюсь получить значение данных из верхней части файла XML, выпущенного одним из наших поставщиков.Delphi XML - получение значения из родительского узла
В верхней части файла XML показан ниже:
<?xml version="1.0" encoding="utf-8"?>
<form billId="1004" penId="ABCDE" appName="Report Sheet" penSerialNo="AJX-AAT-AGK-B4" >
<question id="1" reference="site_name" value="Acme Inc" /></question>
<question id="2" reference="site_address" value="London" /></question>
<question id="3" reference="TQM_job_no" value="AB1234567" /></question>
<question id="4" reference="TQM_site_no" value="XX999" /></question>
Как я могу получить penId и penSerialNo значения?
Для справки, я использую ниже код, полученный из другого поста на сайте, чтобы пройти через XML и получить значения из вопроса узлов:
for i:= 0 to XMLDocument1.DocumentElement.ChildNodes.Count - 1 do
begin
Node:= XMLDocument1.DocumentElement.ChildNodes[I];
if Node.NodeName = 'question' then
begin
if Node.HasAttribute('value') then
VALUEvar:= Node.Attributes[value'];
// do something with VALUEvar which is a string
end;
end;
end;
Я был бы очень признателен за любую помощь что может быть предоставлено ... спасибо заранее!
Просто изменить ' 'question'' в'' form'' и ' 'value'' на «penId». Вы пробовали это? Не самое оптимальное решение, но мне интересно, пытались ли вы это сделать. – Pateman
Привет, да, я пробовал это, без успеха. Я добавил строку кода: если Node.NodeName = 'form', то showmessage ('Hello World'); , но это сообщение никогда не отображается, поэтому я не понимаю, как я могу получить значения атрибутов, которые мне нужны >> – Gary
Является ли допустимым использование ' '? –
TLama