• C++ builder 中的 XMLDocument 类详解(16) – 前一个节点、后一个节点和父节点


    //---------------------------------------------------------------------------
    
    #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 *Button1;
        void __fastcall FormCreate(TObject *Sender);
        void __fastcall Button1Click(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::Button1Click(TObject *Sender)
    {
    //    _di_IXMLNodeList nodeList;
        _di_IXMLNode node,nodeX;
    
        node=XMLDocument1->DocumentElement;
        node=node->ChildNodes->Nodes[1];
        node=node->ChildNodes->Nodes[1];
     //   现在node结点指向了我们的例子中第二个人员"李四"
    
        ShowMessage(node->NodeValue);//女
    
        //获取该节点的上一个节点,它上一个结点应该是李四的姓名
        nodeX=node->PreviousSibling();
        ShowMessage(nodeX->NodeValue);
    
    
        //get the next node,maybe is LISI'age
        nodeX=node->NextSibling();
        ShowMessage(nodeX->NodeValue);//43
    
        //get this node'parent node
        nodeX=node->ParentNode;
        ShowMessage(nodeX->NodeName);//ren yuan
    }
    //---------------------------------------------------------------------------
    
    本人新博客网址为:http://www.hizds.com
    本博客注有“转”字样的为转载文章,其余为本人原创文章,转载请务必注明出处或保存此段。c++/lua/windows逆向交流群:69148232
  • 相关阅读:
    .net技巧推荐
    ASPNETPager常用属性
    带有like的存储过程
    Jquery选择器
    关于出现too many open files异常
    将ReadWriteLock应用于缓存设计
    读CopyOnWriteArrayList有感
    HttpClient容易忽视的细节——连接关闭
    windows下如何用java命令运行jar包?
    再谈重入锁ReentrantLock
  • 原文地址:https://www.cnblogs.com/zhangdongsheng/p/2082314.html
Copyright © 2020-2023  润新知