Chilkat Examples

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

C++ Examples

ASN.1
Amazon S3
Amazon S3 (new)
Amazon SES
Amazon SNS
Amazon SQS
Async
Azure Cloud Storage
Azure Service Bus
Bounced Email
CSV
Certificates
Compression
DKIM / DomainKey
DSA
Diffie-Hellman
Digital Signatures
Dropbox
ECC
Email Object
Encryption
FTP
Facebook
Firebase
GeoOp
Google APIs
Google Cloud Storage
Google Drive
Gzip
HTML-to-XML/Text
HTTP
HTTP Misc

IMAP
JSON
Java KeyStore (JKS)
Jwt
MHT / HTML Email
MIME
NTLM
OAuth1
OAuth2
OpenSSL
PEM
PFX/P12
POP3
PRNG
PayPal
Peoplevox
QuickBooks
REST
RSA Encryption
SCP
SFTP
SMTP
SSH
SSH Key
SSH Tunnel
Socket/SSL/TLS
Spider
Stream
Tar Archive
Twitter
XML
XMP
Xero
Zip
curl

 

 

 

(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.