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

Parse SOAP XML Response

Code to parse a SOAP XML response.

This is the SOAP response parsed by the code below:

<?xml version="1.0"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">

<soap:Body xmlns:m="http://www.example.org/stock">
  <m:GetStockPriceResponse>
    <m:Price>34.5</m:Price>
  </m:GetStockPriceResponse>
</soap:Body>

Download Chilkat XML ActiveX

LOCAL lnSuccess
LOCAL lnBFound
LOCAL loXml
LOCAL lcStrPrice



loXml = CreateObject('Chilkat.Xml')

*  Load the XML object with the SOAP response.
*  The XML may be loaded from a file by calling
*  LoadXmlFile, or directly from a string by calling
*  LoadXml.
lnSuccess = loXml.LoadXmlFile("soapResponse.xml")
IF (lnSuccess <> 1) THEN
    ? loXml.LastErrorText
    QUIT
ENDIF

*  The quickest way to get a piece of data is w/ the
*  ChilkatPath method.
*  To get the content of the m:Price node:

lcStrPrice = loXml.ChilkatPath("soap:Body|m:GetStockPriceResponse|m:Price|*")
? "Price = " + lcStrPrice

*  ------------------------------------
*  Another way of doing it:

*  Another way to get it is to navigate to the node.
*  Navigate to soap:Body
loXml.FirstChild2()

*  Navigate to m:GetStockPriceResponse
*  You may call FirstChild2, or you may call GetChildWithTag2
*  to get the Nth direct child having a given tag.
*  In this case, get the 1st direct child having the tag
*  "m:GetStockPriceResponse"
*  (Indexing begins at 0, so the 1st occurance is at index 0.)
lnBFound = loXml.GetNthChildWithTag2("m:GetStockPriceResponse",0)
IF (lnBFound <> 1) THEN
    ? "Did not find m:GetStockPriceResponse node."
    QUIT
ENDIF

*  One more to go..
lnBFound = loXml.GetNthChildWithTag2("m:Price",0)
IF (lnBFound <> 1) THEN
    ? "Did not find m:Price node."
    QUIT
ENDIF

*  The content of the "m:Price" node is "34.5"
lcStrPrice = loXml.Content
? "Price = " + lcStrPrice

*  Restore the xml object's internal reference to the root
*  of the XML document:
loXml.GetRoot2()

*  ------------------------------------
*  Another way of doing it:

*  If you know that the node w/ the content you want to
*  extract is uniquely tagged (i.e. no other node has the same
*  tag), then search for the node having the tag:
lnBFound = loXml.SearchForTag2(loXml,"m:Price")
IF (lnBFound <> 1) THEN
    *  Not found...
    QUIT
ENDIF

*  The content of the "m:Price" node is "34.5"
lcStrPrice = loXml.Content
? "Price = " + lcStrPrice

*  Restore the xml object's internal reference to the root
*  of the XML document:
loXml.GetRoot2()

*  ------------------------------------
*  Another way of doing it:

*  Again, assuming there is only a single node with the
*  tag to be fetched:
lcStrPrice = loXml.AccumulateTagContent("m:Price","")
? "Price = " + lcStrPrice

*  There are many other possible ways of doing the same thing...

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

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