黄聪:Delphi 中的 XMLDocument 类详解,11 - 一个多余的属性: Nodes

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, xmldom, XMLIntf, msxmldom, XMLDoc, StdCtrls;

type

TForm1 = class(TForm)

XMLDocument1: TXMLDocument;

Button1: TButton;

procedure FormCreate(Sender: TObject);

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

//打开

procedure TForm1.FormCreate(Sender: TObject);

begin

XMLDocument1.LoadFromFile('c:\temp\test.xml');

{必须用万一提供的 xml 测试文件, 才能有相同的返回值}

end;

//一个多余的属性: Nodes

procedure TForm1.Button1Click(Sender: TObject);

var

node: IXMLNode;

begin

node := XMLDocument1.DocumentElement.ChildNodes[0];

ShowMessage(node.ChildNodes[0].NodeValue); {张三}

ShowMessage(node.ChildNodes.Nodes[0].NodeValue); {张三}

ShowMessage(node.AttributeNodes[0].NodeValue); {科长}

ShowMessage(node.AttributeNodes.Nodes[0].NodeValue); {科长}

end;

end.

{

既然可以使用 ChildNodes[0].NodeValue 访问, 又何必存在 ChildNodes.Nodes[0].NodeValue 呢?

其实真正存在的是后者, 前者是后者的一种默认访问方式.

}

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