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) Demonstrates the ChilkatPath XML MethodDemonstrates how to use the ChilkatPath method. This example uses the XML sample file pigs.xml. The pigs.xml file contains this content:
#include <CkXml.h> void ChilkatSample(void) { CkString strOut; CkXml xml; bool success = xml.LoadXmlFile("qa_data/xml/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 = 0; 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 (xml.get_LastMethodSuccess() != true) { 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()); } |
© 2000-2022 Chilkat Software, Inc. All Rights Reserved.