Thanks! It is working. -----Original Message----- From: Pavani Mukthipudi [mailto:[EMAIL PROTECTED] Sent: Tuesday, April 16, 2002 1:05 PM To: [EMAIL PROTECTED] Cc: [EMAIL PROTECTED] Subject: RE: Problem with Xpath
Use ./database/text() or database/text() This will match the nodes w.r.t. context node. -Pavani "Kakoli" <[EMAIL PROTECTED]> wrote : > > Hi Jesse, > Using //operator/database/text() gives me the last value Oracle > only, though it iterates through all values. > > > The values are available by giving the abolute path where context-node is > the entire document like: > /config/operator-list/operator[1]/database/text() -------------> MSSQL > /config/operator-list/operator[2]/database/text() -------------> Oracle > > But I do not want to use the index. Instead I want to give relative path > where the context node is the individual <operator> node. And I want to run > it in a for loop. In that case, what should be the XPath? > > Xpath operator/database/text() on the first <operator> node as context > should return MSSQL. > > Xpath operator/database/text() on the second <operator> node as context > should return Oracle. But it is giving null. > > Thanks & Regards, > > Kakoli > > > > -----Original Message----- > From: Jesse Hersch [mailto:[EMAIL PROTECTED] > Sent: Monday, April 15, 2002 8:16 PM > To: [EMAIL PROTECTED]; [EMAIL PROTECTED] > Subject: Re: Problem with Xpath > > > try //operator/database/text() > > this will match all text nodes under operator/database, no matter where that > structure exists in the doc. > > -jesse > > > ----- Original Message ----- > From: Kakoli > To: [EMAIL PROTECTED] > Sent: Monday, April 15, 2002 7:01 AM > Subject: Problem with Xpath > > > Hi, > I am trying to use XPath feature of Xalan-Java 2.3.1 > My xml file looks thus : > > <config> > > <params> > <configDir>xxx</configDir> > <serverDir>yyy</serverDir> > </params> > > <operator-list> > <operator name="Opr 1"> > <preferred-language>en</preferred-language> > <database>MSSQL</database> > </operator> > <operator name="Opr 2"> > <preferred-language>fr</preferred-language> > <database>Oracle</database> > </operator> > </operator-list> > > </config> > I first parsed the entire document and then used > XPathAPI.selectNodeIterator(Document, xpath) method to get values like xxx > by using xpath : /config/params/configDir/text() > Then I have extracted the node operator from the file. Now I need to extract > <database> values from that by giving the path relative to the operator > node. I am giving this part > of code below: > NodeList nl = null; > nl = doc.getOprNodesFromDoc(); > int size = nl.getLength(); > System.out.println("Size " +size);------------------> number of > <operator> nodes. > for(int i = 0; i < size; ++i) { > Node opr = nl.item(i); > str = XPathAPI.selectNodeIterator(opr, > xpath);--------------------> What should be the xpath here if it is relative > to the operator node. > } > Using xpath operator/database/text() is not working. And I do not want to > use the full path starting from /config. > Any help would be appreciated. > Thanks and Regards, > Kakoli > > -- Pavani Mukthipudi Sun Microsystems, Inc. Phone: 080 - 2298989 Extn: 87390
