zoukankan      html  css  js  c++  java
  • 黄聪:Delphi 中的 XMLDocument 类详解(3) 读取 xml 文件

    先虚拟一个测试文件: test.xml; 放在 c:\temp\ 下备用.

    -----------------------------------------------------------------------------------------------------------------------------------------------------------------

    <?xml version="1.0" encoding="gb2312"?>
    <科室名单 备注="测试">
    <人员 职务="科长" 备注="正局级">
    <
    姓名>张三</姓名>
    <
    性别></性别>
    <
    年龄>34</年龄>
    </人员>
    <人员 职务="付科长">
    <
    姓名>李四</姓名>
    <
    性别></性别>
    <
    年龄>43</年龄>
    </
    人员>
    <
    人员>
    <
    姓名>王五</姓名>
    <
    性别></性别>
    <
    年龄>25</年龄>
    </
    人员>
    <
    人员>
    <姓名>孙六</姓名>
    <
    性别></性别>
    <
    年龄>52</年龄>
    </
    人员>
    <
    辅助人员>
    </
    辅助人员>
     </科室名单>

    -----------------------------------------------------------------------------------------------------------------------------------------------------------------

    unit Unit1;

    interface

    uses
    Classes, Controls, Forms, StdCtrls, XMLDoc, xmldom, XMLIntf, msxmldom;

    type
    TForm1
    = class(TForm)
    XMLDocument1: TXMLDocument;
    Memo1: TMemo;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    end;

    var
    Form1: TForm1;

    implementation

    {$R *.dfm}

    //载入方法1: LoadFromFile
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    XMLDocument1.LoadFromFile(
    'c:\temp\test.xml');

    Memo1.Lines :
    = XMLDocument1.XML; {查看}
    end;


    //载入方法2: 指定 FileName, 然后激活
    procedure TForm1.Button2Click(Sender: TObject);
    begin
    XMLDocument1.FileName :
    = 'c:\temp\test.xml';
    XMLDocument1.Active :
    = True; {激活}

    Memo1.Lines :
    = XMLDocument1.XML; {查看}
    end;


    //载入方法3: 指定 LoadFromStream
    procedure TForm1.Button3Click(Sender: TObject);
    var
    ms: TMemoryStream;
    begin
    ms :
    = TMemoryStream.Create;
    ms.LoadFromFile(
    'c:\temp\test.xml');
    XMLDocument1.LoadFromStream(ms);
    ms.Free;

    Memo1.Lines :
    = XMLDocument1.XML; {查看}
    end;


    //可以用 LoadFromFile 或指定 FileName 的方法, 访问网上的 xml
    procedure TForm1.Button4Click(Sender: TObject);
    begin
    XMLDocument1.LoadFromFile(
    'http://www.google.com/ig/skins/jr.xml');

    Memo1.Lines :
    = XMLDocument1.XML; {查看}
    end;

    end.

    -----------------------------------------------------------------------------------------------------------------------------------------------------------------

    如果需要用浏览器查看 xml, 需要一个 api 函数: ShellAPI.ShellExecute, 所以先 uses ShellAPI;
    然后: ShellExecute(Handle, 'open', 'c:\temp\test.xml', nil, nil, SW_NORMAL);

    出处:http://www.cnblogs.com/del/archive/2008/01/03/1024269.html

  • 相关阅读:
    mysql 导入CSV数据 [转]
    Linux用户态程序计时方式详解[转]
    [转] Bash脚本:怎样一行行地读文件(最好和最坏的方法)
    第二次作业
    软件工程原理与方法 第一次作业
    2017-02-19,周日整理
    2017-02-12,周日整理
    cnblogs,第一次博客纪念。
    堆和栈的区别(转过无数次的文章)
    Flash Player版本相关问题
  • 原文地址:https://www.cnblogs.com/huangcong/p/1809862.html
Copyright © 2011-2022 走看看