SOL9 2.0 Sample: XMLNodeList

SOL9 2.0 Samples

1 Screenshot


2 Source code

/*
 * XMLNodeList.cpp 
 * Copyright (c) 2009 Antillia.com TOSHIYUKI ARAI. ALL RIGHTS RESERVED. 
 */


// SOL9
// 2009/04/23

// Sample program to use XMLDocument::getElementsByTagName() method 

// Run as XMLNodeList.exe Application.xml

#include <sol/COMInitializer.h>
#include <sol/xml/XMLDocument.h>


void _tmain(int argc, TCHAR** argv)
{
    if (argc !=2) {
        _tprintf(_T("Usage:\n%s Application.xml\n"), argv[0]);
        return;
    }

    if (GetFileAttributes(argv[1]) == 0xffffffff) {
        _tprintf(_T("File not found %s\n"), argv[1]);
        return;
    }

    try {
        COMInitializer comInitializer;

        {
            SOL::XMLDocument xmlDocument;
            xmlDocument.open(argv[1]);
            _bstr_t xml = "";
            xmlDocument.getXML(xml);

            _tprintf(_T("XML:\n%s\n"), (const TCHAR*)xml);
            {
                const TCHAR* name = _T("LayoutManager");
                _tprintf(_T("1 xmlDocument.getElementsByTagName(\"%s\")\n"), name);
    
                XMLNodeList nodeList;

                if (xmlDocument.getElementsByTagName(name, nodeList)) {
                    _tprintf(_T("2 OK, getElementsByTagName\n"));
                    nodeList.dump();
                } else {
                    _tprintf(_T("3 Not found\n"));
                }
            }

            {
                const TCHAR* name = _T("Button");
                _tprintf(_T("4 xmlDocument.getElementsByTagName(\"%s\")\n"), name);
    
                XMLNodeList nodeList;

                if (xmlDocument.getElementsByTagName(name, nodeList)) {
                    _tprintf(_T("5 OK, getElementsByTagName\n"));
                    nodeList.dump();
                } else {
                    _tprintf(_T("6 Not found\n"));
                }
            }
        }

    } catch (HRESULT hr) {
        _tprintf(_T("Exception %x\n"), hr);
    } catch (...) {
        _tprintf(_T("Exception %x\n"), GetLastError());
    }

}

Last modified: 11 Nov 2009

Copyright (c) 2009 Antillia.com ALL RIGHTS RESERVED.