FoxPro Examples

ChilkatHOMEAndroid™ASPVisual BasicVB.NETC#iOS (IPhone)Objective-CC++CMFCDelphiFoxProJavaPerl
PHP ExtensionPHP ActiveXPythonPowerShellRubySQL ServerVBScript

Visual FoxPro Examples

Bounced Mail
Bz2
Character Encoding
CSV
Digital Certificates
Digital Signatures
Email
Email Object
FTP
HTML Conversion
HTTP
IMAP
Encryption
MHT / HTML Email
POP3
RSA
S/MIME
Socket
Spider
SFTP
SMTP
SSH
SSH Key
SSH Tunnel
String
Tar
Upload
XML
XMP
Zip Compression
Self-Extractor

More Examples...
Amazon S3
DKIM / DomainKey
NTLM
RSS
Atom
Byte Array
Service
PPMD
Deflate
DH Key Exchange
DSA
FileAccess
Bzip2
LZW

 

Non-Chilkat Links
Text and String Handling

(Visual FoxPro) Traverse Direct Children via FirstChild / NextSibling, or LastChild / PreviousSibling

Demonstrates some ways to iterate over direct child nodes using the FirstChild / NextSibling and LastChild / PreviousSibling methods.

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>

Download Chilkat XML ActiveX

LOCAL loXml
LOCAL loChild
LOCAL loNextSibling
LOCAL loPrevSibling
LOCAL lnSuccess

loXml = CreateObject('Chilkat.Xml')

*  The sample input XML is available at http://www.chilkatsoft.com/data/fruit.xml
lnSuccess = loXml.LoadXmlFile("fruit.xml")
IF (lnSuccess <> 1) THEN
    ? loXml.LastErrorText
    QUIT
ENDIF

*  Iterate over the direct children by using FirstChild / NextSibling
loChild = loXml.FirstChild()
DO WHILE NOT (loChild = NULL )
    ? loChild.Tag + " : " + loChild.Content
    loNextSibling = loChild.NextSibling()
    RELEASE loChild
    loChild = loNextSibling
ENDDO
? "-----"

*  Do the same, but with FirstChild2 / NextSibling2 to avoid
*  creating so many XML object instances:
lnSuccess = loXml.FirstChild2()
DO WHILE lnSuccess = 1
    ? loXml.Tag + " : " + loXml.Content
    lnSuccess = loXml.NextSibling2()
ENDDO
*  Revert back up to the parent:
loXml.GetParent2()

? "-----"

*  Iterate in reverse order using LastChild / PreviousSibling
loChild = loXml.LastChild()
DO WHILE NOT (loChild = NULL )
    ? loChild.Tag + " : " + loChild.Content
    loPrevSibling = loChild.PreviousSibling()
    RELEASE loChild
    loChild = loPrevSibling
ENDDO
? "-----"

*  Do the same, but with LastChild2 / PreviousSibling2 to avoid
*  creating so many XML object instances:
lnSuccess = loXml.LastChild2()
DO WHILE lnSuccess = 1
    ? loXml.Tag + " : " + loXml.Content
    lnSuccess = loXml.PreviousSibling2()
ENDDO
*  Revert back up to the parent:
loXml.GetParent2()

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

Mail Component · .NET Email Component · ASP Mail Component · XML Parser