• 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 Generate Parentheses
    MVC中从Controller像View层传值
    IOS_多线程_ASI_AFN_UIWebView
    @PathVariable,@RequestParam, @RequestBody
    sql语句
    连表删除例子
    java中VO的使用(组成复杂的实体类)
    MyBatisPLus入门项目实战各教程目录汇总
    java常用函数
    复杂查询 new EntityWrapper<>()
  • 原文地址:https://www.cnblogs.com/zhangdongsheng/p/2082407.html
Copyright © 2020-2023  润新知