Chilkat
HOME
Android™
ASP
Visual Basic
VB.NET
C#
iOS (IPhone)
Objective-C
C++
C
MFC
Delphi
FoxPro
Java
Perl
PHP Extension
PHP ActiveX
Python
PowerShell
Ruby
SQL Server
VBScript
Iterate over nodes in an XML document using FirstChild / NextSiblingDownloads: MS Windows Visual C/C++ Libraries Linux/CentOS C/C++ Libraries MAC OS X C/C++ Libraries Solaris C/C++ Libraries C++ Builder Libraries Source Code Listing // Iterate over each "DOC" record (crisp.xml) and copy the // ArticleTitle to a new XML document void ScanForArticleTitles2(void) { // Load the input document. CkXml xml; xml.LoadXmlFile("crisp.xml"); // Create the output XML document in-memory CkXml outXml; outXml.put_Tag("article_titles"); // Iterate over the "DOC" nodes by calling FirstChild // followed by NextSibling2 repeatedly until it returns false. CkString strContent; CkXml *node = xml.FirstChild(); while (node) { CkXml *titleNode = node->FindChild("ArticleTitle"); if (titleNode) { // NewChild returns the created child, whereas NewChild2 does not. titleNode->get_Content(strContent); outXml.NewChild2("article",strContent.getString()); delete titleNode; } // Move to the next sibling. The internal reference within node is updated // to the node's next sibling. If no siblings remain, it returns false. if (!node->NextSibling2()) { delete node; node = 0; } } outXml.SaveXml("ArticleTitles2.xml"); return; }
|
© 2000-2010 Chilkat Software, Inc. All Rights Reserved.