[jdom-interest] creating and parsing files

Kenneth Ellefsen kellefsen at bergen.oilfield.slb.com
Sun Jul 13 23:57:16 PDT 2003


Or even:
<DataSet>
   <user username="user1" password="password1" \>
   <user username="user2" password="password2" \>
</DataSet>

Then use:
String username = element.getAttributeValue("username");
String password = element.getAttributeValue("password");

element representing a <user> element

Cheers

On Sat, 2003-07-12 at 22:13, Dave Bartmess wrote:
> First, the Iterator will give you a list of all the content children,
> therefore in sequence, it will give you "qqlil", "welili", "iotin", then
> "cvbtin".. The setup of your XML doesn't really lend well to getting the
> Username and Passwords together. Try putting them in a parent element
> like:
> 
> <DataSet>
>   <Logon>
>     <Username>
>     </Username>
>     <Password>
>     </Password>
>   </Logon>
> </DataSet>
> 
> That will give you the ability to iterate through the set, and get a
> matched pair of Username and Password.
> 
> Also, as someone mentioned, in your loop, you don't do an itr.next()
> call, which is what would put the (using the above XML) Logon element in
> the loop.
> 
> Try this:
> 
>       Iterator itr = dataset.iterator();      
>       StringBuffer full = new StringBuffer();
>       while(itr.hasNext()) {
>           StringBuffer full = new StringBuffer();
> 	  Element tmpelem = (Element)itr.next();
>           full.append(tmpelem.getChildText("Username") + " ");
>           full.append(tmpelem.getChildText("Password") + " ");
>           System.out.println(full.toString());
>       }
> 
> Note that the "full" StringBuffer is initialized inside the loop,
> because in your code, the Username and Password would have been added to
> the single instance of the StringBuffer, and you would have ended up
> with:
> 
> "qqlil welil1980 iotin cvbtin1975 "
> 
> 
> Hope this helps! Good luck!
> 
> On Sat, 2003-07-12 at 07:35, salil khanwalkar wrote:
> > Hi,
> > My xml file  looks like this --
> > <?xml version="1.0" encoding="UTF-8"?>
> > <DataSet>
> >  <Username>qqlil</Username>
> >  <Password>welil1980</Password>
> >  <Username>iotin</Username>
> >  <Password>cvbtin1975</Password>
> > </DataSet >
> > i copy the contents in a list and then iterate through it using a
> > iterator. The while(),
> >  loops infinitely and prints only the first element qqlil welil1980. I
> > am not able to get the 
> > second username and password.  Is my xml file structure wrong or the
> > code for reading
> > it is wrong?
> > // part  of the code
> >       SAXBuilder builder = new SAXBuilder();
> >       Document doc = builder.build(input);
> >       Element root = doc.getRootElement();
> >       List dataset = doc.getContent();
> >      // System.out.println(dataset);
> >       
> >       Iterator itr = dataset.iterator();      
> >       StringBuffer full = new StringBuffer();
> >       while(itr.hasNext()) {
> >           full.append(root.getChildText("Username") + " ");
> >           full.append(root.getChildText("Password") + " ");
> >           System.out.println(full.toString());          
> >       }
> > Thank You,
> > Salil.
> > 
> > 
> > 
> > ______________________________________________________________________
> > Do you Yahoo!?
> > SBC Yahoo! DSL - Now only $29.95 per month!
-- 
Mvh,

Kenneth Ellefsen                   | Tlf: (+47) 55985829
Schlumberger Information Solutions | www.sis.slb.com





More information about the jdom-interest mailing list