博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Delphi 中的 XMLDocument 类详解(13) - 关于 XML 属性
阅读量:5890 次
发布时间:2019-06-19

本文共 2275 字,大约阅读时间需要 7 分钟。

  hot3.png

unit Unit1;interfaceuses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs, xmldom, XMLIntf, msxmldom, XMLDoc, StdCtrls;type  TForm1 = class(TForm)    XMLDocument1: TXMLDocument;    Memo1: TMemo;    Button1: TButton;    Button2: TButton;    Button3: TButton;    Button4: TButton;    Button5: TButton;    procedure FormCreate(Sender: TObject);    procedure Button1Click(Sender: TObject);    procedure Button2Click(Sender: TObject);    procedure Button3Click(Sender: TObject);    procedure Button4Click(Sender: TObject);    procedure Button5Click(Sender: TObject);  end;var  Form1: TForm1;implementation{$R *.dfm}//打开procedure TForm1.FormCreate(Sender: TObject);begin  XMLDocument1.LoadFromFile('c:\temp\test.xml');  {必须用万一提供的 xml 测试文件, 才能有相同的返回值}end;//XMLDocument1 对象的 XML 属性procedure TForm1.Button1Click(Sender: TObject);begin  {前面我们经常用这句话, 因为这里的 Lines 与 XML 同属于 TStrings}  Memo1.Lines := XMLDocument1.XML;  {如果不怕麻烦, 这样写也可以:}  Memo1.Lines.Text := XMLDocument1.XML.Text;  {如果知道了这一点, 那 XML 属性的功能可就多了, 并且这里的 XML 属性是可写的}  {不过这里要谈的是节点的 XML 属性}end;//根节点的 XML 属性procedure TForm1.Button2Click(Sender: TObject);var  node: IXMLNode;begin  {先看根节点: XMLDocument1.DocumentElement}  node := XMLDocument1.DocumentElement;  //Memo1.Lines := node.XML; {这一句会出错}  {因为节点的 XML 属性是 WideString 类型的, 应该这样:}  Memo1.Lines.Text := node.XML; {将会读出根节点与根节点包含的所有内容}  {还有一个更大的区别: 节点的 XML 是只读的!}end;//子节点的 XML 属性procedure TForm1.Button3Click(Sender: TObject);var  node: IXMLNode;begin  node := XMLDocument1.DocumentElement;  node := node.ChildNodes[0];  Memo1.Lines.Text := node.XML; {会显示一个子节点的全部}end;//属性的 XML 属性procedure TForm1.Button4Click(Sender: TObject);var  node: IXMLNode;begin  node := XMLDocument1.DocumentElement;  node := node.AttributeNodes[0]; {属性也是 IXMLNode 类型的}  ShowMessage(node.NodeName);  {备注}  ShowMessage(node.NodeValue); {测试}  {用 XML 属性一次把他们都读出来:}  ShowMessage(node.XML);       {备注="测试"}end;//叶节点的 XML 属性procedure TForm1.Button5Click(Sender: TObject);var  node: IXMLNode;begin  node := XMLDocument1.DocumentElement;  node := node.ChildNodes[0];  node := node.ChildNodes[0];  node := node.ChildNodes[0]; {这就是叶节点了}  ShowMessage(node.XML);  {张三}  {这时的 XML 属性和 Text 属性一样了}  ShowMessage(node.Text); {张三}end;end.

转载于:https://my.oschina.net/hermer/blog/319186

你可能感兴趣的文章
[T-SQL]从变量与数据类型说起
查看>>
稀疏自动编码之反向传播算法(BP)
查看>>
二叉搜索树转换成双向链表
查看>>
WebLogic和Tomcat的区别
查看>>
java类中 获取服务器的IP 端口
查看>>
调用约定__stdcall / __cdecl
查看>>
occActiveX - ActiveX with OpenCASCADE
查看>>
redmine
查看>>
css 序
查看>>
DirectshowLib摄像头拍照的”未找到可用于建立连接的介质筛选器组合“ 解决办法...
查看>>
wcf-1
查看>>
三种简单排序
查看>>
[Java]读取文件方法大全
查看>>
【NopCommerce源码架构学习-二】单例模式实现代码分析
查看>>
动态规划大合集II
查看>>
MySQL忘记密码后重置密码(Mac )
查看>>
web.xml中的url-pattern映射规则
查看>>
图像的下采样Subsampling 与 上采样 Upsampling
查看>>
SQL 数据类型
查看>>
支付宝接口调用,支付操作
查看>>