0

我目前在 Delphi 中使用 NativeXML,并且我的 XML 文档具有以下结构:

<?xml version="1.0"?>
<Request>
  <RequestId>5429935816</RequestId>
  <CompletedDate>2012-07-12T12:06:57+00:00</CompletedDate>
</Request>
<RequestId>
  <RequestId>5428581330</RequestId>
  <CompletedDate>2012-07-12T04:21:46+00:00</CompletedDate>
</Request>

基本上我需要知道文档中每个 RequestID 的值。

提前谢谢你,问候。

4

2 回答 2

0

这是一些代码(未经测试,从我的记忆中写出来..),它显示了如何通过节点循环......(当然你必须用一些真实的代码替换 strBuf-thing 和文件名......)

procedure ReadNodes;
var
  strBuf: string;
  i: Integer;
begin
  aXMLDoc := TNativeXML.Create;
  try
    aXMLDoc.ExternalEncoding := seUTF8; //for example...
    aXMLDoc.LoadFromFile(FileName);

    if assigned(aXMLDoc.Root) then
    begin 
      for i := 0 to aXMLDoc.Root.NodeCount - 1 do                                                          
      begin
        strBuf := aXMLDoc.Root.Node[i].NodeByName('RequestID').ValueAsString;
      end; 
    end;
  finally
    aXMLDoc.Free;
  end;
end;
于 2012-07-14T19:06:54.210 回答
0
 Node.FindNodes('Request', AList);  
 for I := 0 to AList.Count - 1 do begin  
  Node2 := TXmlNode(AList[I]);  
  if Assigned(Node2.NodeByName('RequestId')) then begin  
    Node3 := Node2.NodeByName('RequestId');  
    s := Node3.ValueUnicode;  
    //...s  
  end;  
 end;  
于 2013-11-12T10:52:29.130 回答