Chilkat HOME Android™ Classic ASP C C++ C# Mono C# .NET Core C# C# UWP/WinRT DataFlex Delphi ActiveX Delphi DLL Visual FoxPro Java Lianja MFC Objective-C Perl PHP ActiveX PHP Extension PowerBuilder PowerShell PureBasic CkPython Chilkat2-Python Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ Visual Basic 6.0 VB.NET VB.NET UWP/WinRT VBScript Xojo Plugin Node.js Excel Go
(MFC) Find Direct Child with Specific TagDemonstrates 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>
#include <CkXml.h> void ChilkatSample(void) { CkString strOut; CkXml xml; // The sample input XML is available at http://www.chilkatsoft.com/data/fruit.xml bool success = xml.LoadXmlFile("qa_data/xml/fruit.xml"); if (success != true) { strOut.append(xml.lastErrorText()); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); 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. CkXml *child = xml.FindChild("meat"); if (xml.get_LastMethodSuccess() == false) { strOut.append("No direct child having the tag \"meat\" was found."); strOut.append("\r\n"); } else { strOut.append("Content = "); strOut.append(child->content()); strOut.append("\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. strOut.append("Content = "); strOut.append(xml.content()); strOut.append("\r\n"); // Restore the reference back to the parent. success = xml.GetParent2(); } else { strOut.append("No direct child having the tag \"meat\" was found."); strOut.append("\r\n"); } SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); } |
© 2000-2022 Chilkat Software, Inc. All Rights Reserved.