MFC Examples

ChilkatHOMEAndroid™ASPVisual BasicVB.NETC#iOS (IPhone)Objective-CC++CMFCDelphiFoxProJavaPerl
PHP ExtensionPHP ActiveXPythonPowerShellRubySQL ServerVBScript

MFC Examples

Bounced Mail
Bz2
Certificates/Keys
Charset
CSV
Diffie-Hellman
DKIM / DomainKey
DSA
Email Object
Encryption
FileAccess
FTP
HTML Conversion
HTTP
IMAP
MHT / HTML Email
MIME
NTLM
POP3
RSA
SMTP
Socket
Spider
SSH Key
SSH
SSH Tunnel
SFTP
Tar
Upload
XML
Zip
Amazon S3


 

 

 

 

 

 

 

 

Demonstrates the ChilkatPath XML Method

Demonstrates how to use the ChilkatPath method. This example uses the XML sample file pigs.xml. The pigs.xml file contains this content:

Downloads:

MS Windows Visual C/C++ Libraries
Linux/CentOS C/C++ Libraries
MAC OS X C/C++ Libraries
Solaris C/C++ Libraries
C++ Builder Libraries
// Needs #include <CkXml.h>

    CkString strOut;

    CkXml xml;

    bool success;

    success = xml.LoadXmlFile("pigs.xml");
    if (success != true) {
        strOut.append(xml.lastErrorText());
        strOut.append("\r\n");
        SetDlgItemText(IDC_EDIT1,strOut.getUnicode());
        return;
    }

    //  Get the content of the "species" node for the 1st animal:
    const char * result;
    result = xml.chilkatPath("animal|species|*");
    //  Output should be "pot belly pig"
    strOut.append(result);
    strOut.append("\r\n");

    //  Get the content of the "type" node for the 2nd animal:
    //  Indexing begins at 0.  Therefore, the 2nd direct child having
    //  the tag "animal" is at index 1
    result = xml.chilkatPath("animal[1]|type|*");
    //  Output should be "House Pig"
    strOut.append(result);
    strOut.append("\r\n");

    //  Find the pig having the name "Nigel" and display the
    //  birth date.  To do this, we'll navigate to the node having
    //  tag="name" with the exact content "Nigel", then navigate up,
    //  and finally navigate back down to the "birth" node:
    result = xml.chilkatPath("/C/name,Nigel|..|birth|*");
    //  Output should be "June, 1991"
    strOut.append(result);
    strOut.append("\r\n");

    //  Navigate to the 1st animal's picture and print the filename,
    //  description, and caption.
    //  The "$" updates the caller's internal pointer to reference
    //  the node that is the result of evaluating the path.
    //  An empty string is returned for success, and a NULL/nil/0
    //  pointer (reference) is returned on failure.
    result = xml.chilkatPath("animal|picture|$");
    if (result == 0 ) {
        strOut.append("Failed to navigate to animal|picture.");
        strOut.append("\r\n");
        SetDlgItemText(IDC_EDIT1,strOut.getUnicode());
        return;
    }

    //  Display the contents of the file/description/caption child nodes
    strOut.append("Picture Info:");
    strOut.append("\r\n");
    strOut.append(xml.GetChildContent("file"));
    strOut.append("\r\n");
    strOut.append(xml.GetChildContent("description"));
    strOut.append("\r\n");
    strOut.append(xml.GetChildContent("caption"));
    strOut.append("\r\n");

    //  Return back to the root of the XML document:
    xml.GetRoot2();

    //  Display the value of the "spay-neuter" attribute of the 1st animal:
    strOut.append("----");
    strOut.append("\r\n");
    result = xml.chilkatPath("animal|gender|(spay-neuter)");
    strOut.append(result);
    strOut.append("\r\n");



    SetDlgItemText(IDC_EDIT1,strOut.getUnicode());

Need a specific example? Send a request to support@chilkatsoft.com

© 2000-2010 Chilkat Software, Inc. All Rights Reserved.