Delphi 中的 XMLDocument 类详解(19) - NodeValue 与 NodeName 的读写区别


unit Unit1;



interface



uses

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

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



type

  TForm1 = class(TForm)

    Button1: TButton;

    XMLDocument1: TXMLDocument;

    procedure FormCreate(Sender: TObject);

    procedure Button1Click(Sender: TObject);

  end;



var

  Form1: TForm1;



implementation



{$R *.dfm}



procedure TForm1.FormCreate(Sender: TObject);

begin

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

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

end;





procedure TForm1.Button1Click(Sender: TObject);

var

  node: IXMLNode;

begin

  node := XMLDocument1.DocumentElement;



  node := node.ChildNodes[0]; {现在的 node 指向了第一个人员节点}



  //属性值: NodeValue 是可读写的

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

  node.AttributeNodes[0].NodeValue := '正科长';

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



  //属性名: NodeName 是只读的

  ShowMessage(node.AttributeNodes[0].NodeName);  {职务}

  //node.AttributeNodes[0].NodeName := 'xxx';    {如果企图给属性名赋值会出错}







  node := node.ChildNodes[0]; {现在的 node 指向了第一个人员"张三"的姓名节点}



  //节点值: NodeValue 是可读写的

  ShowMessage(node.NodeValue); {张三}

  node.NodeValue := '张老三';

  ShowMessage(node.NodeValue); {张老三}



  //节点名: NodeName 是只读的

  ShowMessage(node.NodeName);  {姓名}

  //node.NodeName := 'xxx';    {如果企图给节点名赋值会出错}

end;



end.


 
   

你可能感兴趣的:(document)