zoukankan      html  css  js  c++  java
  • C++ builder 中的 XMLDocument 类详解(18) NodeValue 与 NodeName 的读写区别

    //---------------------------------------------------------------------------
    
    #ifndef Unit1H
    #define Unit1H
    //---------------------------------------------------------------------------
    #include <Classes.hpp>
    #include <Controls.hpp>
    #include <StdCtrls.hpp>
    #include <Forms.hpp>
    #include <msxmldom.hpp>
    #include <XMLDoc.hpp>
    #include <xmldom.hpp>
    #include <XMLIntf.hpp>
    //---------------------------------------------------------------------------
    class TForm1 : public TForm
    {
    __published:	// IDE-managed Components
        TXMLDocument *XMLDocument1;
        TButton *btn1;
        TButton *btn2;
        TButton *btn3;
        void __fastcall FormCreate(TObject *Sender);
        void __fastcall btn1Click(TObject *Sender);
    private:	// User declarations
    public:		// User declarations
        __fastcall TForm1(TComponent* Owner);
    };
    //---------------------------------------------------------------------------
    extern PACKAGE TForm1 *Form1;
    //---------------------------------------------------------------------------
    #endif
    
    //---------------------------------------------------------------------------
    
    #include <vcl.h>
    #pragma hdrstop
    
    #include "Unit1.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TForm1 *Form1;
    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------
    
    void __fastcall TForm1::FormCreate(TObject *Sender)
    {
        XMLDocument1->LoadFromFile("D:\\code\\B_C_B\\XMLDocument\\test.xml");
    }
    //---------------------------------------------------------------------------
    
    void __fastcall TForm1::btn1Click(TObject *Sender)
    {
        _di_IXMLNode node;
    
        node=XMLDocument1->DocumentElement;
        node=node->ChildNodes->Nodes[0];//第一个人员节点
    
        //属性值 nodevalue是可读写的
        ShowMessage(node->AttributeNodes->operator [](0)->NodeValue);
        node->AttributeNodes->operator [](0)->NodeValue=(WideString)("正科长");
        ShowMessage(node->AttributeNodes->operator [](0)->NodeValue);
    
        //属性nodename是只读的
        ShowMessage(node->AttributeNodes->operator [](0)->NodeName);
        //node->AttributeNodes->operator [](0)->NodeName="xxx",企图修改会出错
    
        node=node->ChildNodes->operator [](0);//现在node指向了第一个人员张三的姓名节点
    
    
        //节点值:nodeValue是可读写的
        ShowMessage(node->NodeValue); //张三
        node->NodeValue=(WideString)"张老三";
        ShowMessage(node->NodeValue);//张老三
    
        //节点名称 nodename是只读的
        ShowMessage(node->NodeName);//姓名
    //    node->NodeName="XXX"   企图修改会出错
    
    }
    //---------------------------------------------------------------------------
    
    本人新博客网址为:http://www.hizds.com
    本博客注有“转”字样的为转载文章,其余为本人原创文章,转载请务必注明出处或保存此段。c++/lua/windows逆向交流群:69148232
  • 相关阅读:
    Leetcode刷题记录:构建最大数二叉树
    Leetcode刷题记录:编码并解码短网址
    Python获取数字的二进制值
    SQL文件的BOM问题导致的invalid character错误及解决
    修改服务的运行权限,解决SVN Post Commit问题
    将iPod中的音乐拷贝到Mac中
    Linux下创建可执行bin安装文件
    Mac下使用XLD转换无损音乐Ape
    Mac环境下配置Tomcat+Eclipse
    Curl操作Elasticsearch的常用方法
  • 原文地址:https://www.cnblogs.com/zhangdongsheng/p/2082407.html
Copyright © 2011-2022 走看看