Chilkat Examples

ChilkatHOMEAndroid™Classic ASPCC++C#C# UWP/WinRTDataFlexDelphi ActiveXDelphi DLLVisual FoxProJavaLianjaMFCObjective-CPerlPHP ActiveXPHP ExtensionPowerBuilderPowerShellPureBasicPythonRubySQL ServerSwiftTclUnicode CUnicode C++Visual Basic 6.0VB.NETVB.NET UWP/WinRTVBScriptXojo PluginNode.js

C++ Examples

Async
Certificates
ECC
Email Object
Encryption
FTP
HTML-to-XML/Text
Gzip
HTTP
IMAP
JSON
Jwt
MHT / HTML Email
PEM
PFX/P12
Java KeyStore (JKS)
POP3
RSA Encryption
MIME
REST
SCP
SMTP
Socket/SSL/TLS
SSH Key
SSH
SSH Tunnel
SFTP
Stream
Tar Archive
XML
XMP
Zip

More Examples...
OpenSSL
Google APIs
Google Cloud Storage
Azure Cloud Storage
Amazon S3 (new)
Google Drive
Dropbox
Firebase
ASN.1
PRNG
Amazon S3
Bounced Email
CSV
Diffie-Hellman
DKIM / DomainKey
DSA
NTLM
QuickBooks
Spider
Digital Signatures

 

 

 

 

 

 

 

(C++) Find Direct Child with Specific Tag

Demonstrates how to find a direct child having a specific tag.

The input XML, available at http://www.chilkatsoft.com/data/fruit.xml, is this:

<root>
    <fruit color="red">apple</fruit>
    <fruit color="green">pear</fruit>
    <veg color="orange">carrot</veg>
    <meat animal="cow">beef</meat>
    <xyz>
        <fruit color="blue">blueberry</fruit>
        <veg color="green">broccoli</veg>
    </xyz>
    <fruit color="purple">grape</fruit>
    <cheese color="yellow">cheddar</cheese>
</root>

Chilkat C/C++ Library Downloads

MS Visual C/C++

Linux/CentOS/Heroku C/C++

MAC OS X C/C++

C++ Builder

Solaris C/C++

iOS C/C++

Android C/C++

Raspberry Pi C/C++

Windows Mobile 5.0/Pocket PC 2003

ARM Embedded Linux C/C++

PowerLinux C/C++

FreeBSD C/C++

MinGW C/C++

#include <CkXml.h>

void ChilkatSample(void)
    {
    CkXml xml;
    CkXml *child = 0;

    bool success;
    //  The sample input XML is available at http://www.chilkatsoft.com/data/fruit.xml
    success = xml.LoadXmlFile("fruit.xml");
    if (success != true) {
        std::cout << xml.lastErrorText() << "\r\n";
        return;
    }

    //  Find the direct child node having the tag "meat", and
    //  return a new instance of the XML object referencing the
    //  child node, if found.
    child = xml.FindChild("meat");
    if (child == 0 ) {
        std::cout << "No direct child having the tag \"meat\" was found." << "\r\n";
    }
    else {
        std::cout << "Content = " << child->content() << "\r\n";
        delete child;
    }

    //  The same can be accomplished without creating a new
    //  XML object instance.  Instead, the FindChild2 method updates
    //  the caller's internal reference to the found child, if successful.
    success = xml.FindChild2("meat");
    if (success == true) {
        //  Success!  The xml object now references the found child.
        std::cout << "Content = " << xml.content() << "\r\n";
        //  Restore the reference back to the parent.
        success = xml.GetParent2();
    }
    else {
        std::cout << "No direct child having the tag \"meat\" was found." << "\r\n";
    }


    }

 

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