Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我需要从XML中读取状态字段的帮助_Xml_Delphi_Delphi 7 - Fatal编程技术网

我需要从XML中读取状态字段的帮助

我需要从XML中读取状态字段的帮助,xml,delphi,delphi-7,Xml,Delphi,Delphi 7,我需要使用Delphi7阅读XML文本中的status字段 此XML位于TMemo中: 665675780 8/4/2018 15:47:44 好啊 0 a6gdfg567c79afd429d872d A6589-dfg46D429-D872D 活跃的 不 到目前为止,我这样做没有结果,我没有得到任何东西: 使用XMLDoc、XMLIntf; 程序TForm1.BitBtn1Click(发送方:TObject); 变量 XmlFile:TXMLDocument; 文件:IXMLDocumen

我需要使用Delphi7阅读XML文本中的
status
字段

此XML位于
TMemo
中:


665675780
8/4/2018 15:47:44
好啊
0
a6gdfg567c79afd429d872d
A6589-dfg46D429-D872D
活跃的
不
到目前为止,我这样做没有结果,我没有得到任何东西:

使用XMLDoc、XMLIntf;
程序TForm1.BitBtn1Click(发送方:TObject);
变量
XmlFile:TXMLDocument;
文件:IXMLDocument;
MainNode,CustomerNode:IXMLNode;
i:整数;
XMLPath:string;
开始
Doc:=LoadXMLData(Memo1.Text);
尝试
//LoadFromFile(XMLPath);
单据激活:=真;
主节点:=Doc.DocumentElement;
对于i:=0到MainNode.ChildNodes['licensecloud'].ChildNodes.Count-1 do
开始
CustomerNode:=MainNode.ChildNodes['licensecloud'].ChildNodes[i];
//在这里你可以得到任何信息
ShowMessage(CustomerNode.ChildNodes['status'].Text);
//ShowMessage(CustomerNode.ChildNodes['address\u line\u 1'].Text);
结束;
最后
FreeAndNil(XmlFile);
结束;
结束;
  • 您的xml无效。缺少结束标记(
    )。有效的xml:

    <?xml version="1.0" encoding="UTF-8"?>
    <licensecloud>
        <request_id>665675780</request_id>
        <request_timestamp>8/4/2018 15:47:44</request_timestamp>
        <request_status>OK</request_status>
        <error_num>0</error_num>
        <error_msg></error_msg>
        <error_desc></error_desc>
        <license>
            <key>a6gdfg567c79afd429d872d</key>
            <dashed>A6589-dfg46D429-D872D</dashed>
            <status>ACTIVE</status>
        </license>
        <trial>no</trial>
        <expires/>
    </licensecloud>
    
  • procedure TForm1.Button1Click(Sender: TObject);
    var
      XmlFile : TXMLDocument;
      Doc: IXMLDocument;
      MainNode, CustomerNode : IXMLNode;
      i : Integer;
      XMLPath : string;
    begin
    
    
      Doc := LoadXMLData(Memo1.Text);
      try
       // XmlFile.LoadFromFile(XMLPath);
        Doc.Active := True;
        MainNode := Doc.DocumentElement;
    
        ShowMessage(MainNode.ChildNodes['license'].ChildNodes['status'].Text);
      finally
        FreeAndNil(XmlFile);
      end;
    end;