Sample code for 30+ languages & platforms
Java

Demonstrate XML SearchForTag2

Demonstrates how to use SearchForTag2.

Chilkat Java Downloads

Chilkat2 Java
import com.chilkatsoft.chilkat2.StringBuilder;
import com.chilkatsoft.chilkat2.Xml;

public class ChilkatExample {

    public static void main(String[] args) {
        Xml xml = new Xml();

        // Load the following XML:

        //     <Test>
        //         <testchild1>
        //             test
        //         </testchild1>
        //         <testchild1>
        //             test1
        //         </testchild1>
        //         <testchild1>
        //             test2
        //         </testchild1>
        //         <testchild1>
        //             test3
        //         </testchild1>
        //         <testchild1>
        //             test4
        //         </testchild1>
        //         <testchild1>
        //             test5
        //         </testchild1>
        //         <testchild1>
        //             test6
        //         </testchild1>
        //     </Test>

        xml.loadXml("<Test><testchild1>test</testchild1><testchild1>test1</testchild1><testchild1>test2</testchild1><testchild1>test3</testchild1><testchild1>test4</testchild1><testchild1>test5</testchild1><testchild1>test6</testchild1></Test>");

        int i = 0;
        Xml xmlSearch = xml.getRoot();
        Xml afterPtr = xml.getRoot();
        Xml pTemp = null;

        // Alway begin the search from the root.
        while (ERROR: A status method used as a value: xmlSearch.SearchForTag2
xmlSearch.searchForTag2(afterPtr, "testchild1")) {
            // If successful, xmlSearch now points to the found element.
            i = i + 1;

            // Set afterPtr = xmlSearch (so we find the next match after the one we just found)
            // Rest xmlSearch to the root of the XML tree to be searched.
            System.out.println(i + ": " + xmlSearch.getContent());
            pTemp = afterPtr;
            afterPtr = xmlSearch;
            pTemp.getRoot2();
            xmlSearch = pTemp;
        }

        xmlSearch.close();
        afterPtr.close();

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

        // A better way:
        StringBuilder sbState = new StringBuilder();
        i = 0;
        while (xml.nextInTraversal2(sbState)) {
            if (xml.tagEquals("testchild1")) {
                System.out.println(i + ": " + xml.getContent());
                i = i + 1;
            }
        }

        xml.getRoot2();
    }
}