我是在Delphi中使用XML的新手,並且使用已發佈的問題來了解我需要知道的大部分內容(謝謝!)。然而......我正在努力從我們的一個供應商發佈的XML文件頂部獲取數據值。德爾福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
嗨,是的,我嘗試過,沒有成功。我添加了一行代碼:if Node.NodeName ='form'然後showmessage('Hello World'); 但是這個消息從不顯示,所以我不知道如何獲得我需要的屬性值。>> – Gary
使用' '是否有效? –
TLama