• 黄聪: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.

    出处:http://www.cnblogs.com/del/archive/2008/01/07/1029056.html

  • 相关阅读:
    网页复制内容追加到剪切板
    windows安装 rabbitmq 快速避坑
    springboot rabbitmq快速入门上手(实用)
    python3 websocket客户端
    mybatis查询结果一对多
    mysql 插入数据,存在即更新
    centos7 安装mysql8.0
    收藏一个【fastjson反序列化漏洞原理及利用】
    .NET 5 with Dapr 初体验
    HttpClient缺陷引起的 无法连接到远程服务器 通常每个套接字地址只允许使用一次
  • 原文地址:https://www.cnblogs.com/huangcong/p/1809975.html
Copyright © 2020-2023  润新知