zoukankan      html  css  js  c++  java
  • NativeXml (4):认识根节点


    uses NativeXml;
    
    const
      xmlFile = 'C:\Temp\xml_test_files\basic.xml'; //测试文件
    
    var
      xml: TNativeXml;
    
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      xml := TNativeXml.Create(nil);
      xml.LoadFromFile(xmlFile);
    end;
    
    {获取根节点的类名及类的继承关系}
    procedure TForm1.Button1Click(Sender: TObject);
    var
      str: string;
      myClass: TClass;
    begin
      ShowMessage(xml.Root.ClassName); //TsdElement
    
      str := '';
      myClass := xml.Root.ClassType;
      while myClass <> nil do
      begin
        if str <> '' then str := ' > ' + str;
        str := myClass.ClassName + str;
        myClass := myClass.ClassParent;
      end;
      ShowMessage(str); //TObject > TPersistent > TDebugPersistent > TXmlNode > TsdContainerNode > TsdElement
    end;
    
    {根节点的名称与内容}
    procedure TForm1.Button2Click(Sender: TObject);
    var
      root: TsdElement;
    begin
      root := xml.Root;
      ShowMessage(root.Name);            //名称
      ShowMessage(root.ElementTypeName); //类型名称
      ShowMessage(root.WriteToString);   //内容
    end;
    
    {其子成员}
    procedure TForm1.Button3Click(Sender: TObject);
    var
      root: TsdElement;
      i: Integer;
    begin
      root := xml.Root;
      ShowMessage(IntToStr(root.AttributeCount)); //属性总数
      ShowMessage(IntToStr(root.NodeCount));      //子节点数目
    
      Memo1.Clear;
      for i := 0 to root.NodeCount - 1 do //遍历子节点
      begin
        Memo1.Lines.Add(root[i].Name + #9 + root[i].Value); // root[i] = root.Nodes[i]
      end;
    end;
    

  • 相关阅读:
    openwrt 汉化
    错误: libstdc++.so.6: cannot open shared object file: No such file or directory
    openwrt uci
    openwrt makefile选项
    Ubuntu服务器断网问题解决
    lldpcli 常用命令
    openwrt ramips随记
    shell脚本学习(二)
    完成响应式的方式
    盒子模型 W3C中和IE中盒子的总宽度分别是什么
  • 原文地址:https://www.cnblogs.com/del/p/1994029.html
Copyright © 2011-2022 走看看