Java Examples

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

Java Examples

Quick Start
Unicode
Bz2
Certificates
CSV
Email
Encryption
FTP
HTML Conversion
HTTP
IMAP
MHT
MIME
POP3
RSA
S/MIME
SFTP
Signatures
SMTP
Socket / SSL
Spider
SSH
SSH Key
SSH Tunnel
Tar
Upload
XML
XMP
Zip

More Examples...
Amazon S3
Email Object
DKIM / DomainKey
NTLM
FileAccess
RSS
Atom
String
Byte Array
Self-Extractor
Service
PPMD
Deflate
DH Key Exchange
DSA
Bzip2
LZW

 

 

 

 

 

 

 

(Java) XML SearchForAttribute Method

Demonstrates the SearchForAttribute method.

The input XML, available at http://www.chilkatsoft.com/data/fruitSearch.xml, is this:

<root>
    <searchRoot>
        <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>
    </searchRoot>
    <fruit color="red">strawberry</fruit>
    <fruit color="orange">peach</fruit>
    <root></root>
</root>

 Chilkat Java Library Downloads for Windows, Linux, and MAC OS X

import com.chilkatsoft.*;

public class ChilkatExample {

  static {
    try {
        System.loadLibrary("chilkat");
    } catch (UnsatisfiedLinkError e) {
      System.err.println("Native code library failed to load.\n" + e);
      System.exit(1);
    }
  }

  public static void main(String argv[])
  {
    CkXml xml = new CkXml();
    CkXml xSearchRoot;
    CkXml xBeginAfter;
    CkXml xFound;

    boolean success;
    //  The sample input XML is available at http://www.chilkatsoft.com/data/fruitSearch.xml
    success = xml.LoadXmlFile("fruitSearch.xml");
    if (success != true) {
        System.out.println(xml.lastErrorText());
        return;
    }

    //  Search the sub-tree rooted at "searchRoot"
    xSearchRoot = xml.FindChild("searchRoot");

    //  Search for all "fruit" nodes having a color attribute
    //  where the name of the color ends in "e"
    xBeginAfter = null;
    xFound = xSearchRoot.SearchForAttribute(xBeginAfter,"fruit","color","*e");
    while (!(xFound == null )) {

        System.out.println(xFound.content() + ": "
             + xFound.getAttrValue("color"));

        xBeginAfter = xFound;
        xFound = xSearchRoot.SearchForAttribute(xBeginAfter,"fruit","color","*e");
    }

    //  The correct output is:
    //  grape: purple
    //  blueberry: blue

    System.out.println("--------------------------");

    //  ---------------------------------------------------------------------------------
    //  Now do the same, but instead use SearchForAttribute2
    //  which updates the internal reference of the caller instead
    //  of returning the found node.
    CkXml xSearch;

    xBeginAfter = xSearchRoot.GetSelf();
    xSearch = xSearchRoot.GetSelf();

    success = xSearch.SearchForAttribute2(xBeginAfter,"fruit","color","*e");
    while (success == true) {

        System.out.println(xSearch.content()
             + ": " + xSearch.getAttrValue("color"));

        //  Copy the internal references so that the next search
        //  begins after the found node.
        xBeginAfter.CopyRef(xSearch);
        xSearch.CopyRef(xSearchRoot);

        success = xSearch.SearchForAttribute2(xBeginAfter,"fruit","color","*e");
    }


  }
}

 

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