Platinum Partner

How To Use XPath And Namespaces In VTD-XML?

This example shows you how to use XPath to process an XML document in a namespace aware fashion.


/* Input XML 

	 hello world! 

*/
import com.ximpleware.*; 
public class xpathNs{
        public static void main(String[] args) throws Exception{
            VTDGen vg = new VTDGen();
            AutoPilot ap = new AutoPilot();
            int i;
            // declareXPathNameSpace associates name space with a prefix
            ap.declareXPathNameSpace("ns1","someURL");
	    ap.selectXPath("/ns1:a/ns1:b/text()");
            if (vg.parseFile("d:/java_tutorial_by_code_examples/3/input.xml",true)){
                VTDNav vn = vg.getNav();
                ap.bind(vn); 
                // AutoPilot moves the cursor for you, as it returns the index value of the qualified node
                while((i=ap.evalXPath())!=-1){
                    // notice that i always is equal to vn.getCurrentIndex()!!!
                    System.out.println("the text node index val is "+ 
                        i +" the text string ==>"+vn.toString(i));
                    // below is equivalent to 
                    // vn's cursor is what gets moved by AutoPilot here
                    System.out.println("the text node index val is " + 
                        i + " the text string ==>" + vn.toString(vn.getCurrentIndex()));
                }
            }
        } 
}


{{ tag }}, {{tag}},

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}
{{ parent.authors[0].realName || parent.author}}

{{ parent.authors[0].tagline || parent.tagline }}

{{ parent.views }} ViewsClicks
Tweet

{{parent.nComments}}