私はDelphiでXMLを初めて使用しています。すでに知っておいたことのほとんどを見つけるために既に投稿された質問を使用しました。しかし、私は、私たちのサプライヤの1人が発行した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>
にはどうすればペンIDと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;
私は本当に任意の助けをいただければ幸いですそれは提供される可能性があります...事前に感謝! form
がルートノードであるため
単に 'form''と' 'value'' ''へquestion''' に変更します「penId」へ。あなたはそれを試しましたか?最適な解決策ではありませんが、あなたがそれを試したかどうかは疑問です。 – Pateman
こんにちは、私はそれを試みましたが、成功しませんでした。 Node.NodeName = 'form'の場合、showmessage( 'Hello World');というコード行を追加しました。 このメッセージは表示されないので、必要な属性値をどのように取得できるかを理解することはできません>> – Gary
' 'を使用するのは有効ですか? –
TLama