[jdom-interest] Searching an XML file
Q.M.Qasim at Bradford.ac.uk
Q.M.Qasim at Bradford.ac.uk
Wed Feb 13 06:55:23 PST 2002
Hi
I want to search an XML file with a search query. Following is a sample of my
xml file.
<files>
<file name="fan.txt" directory="directory" size="8">
<description>qas</description>
<description>qa</description>
</file>
<file name="qasim" directory="directoru" size="3">
<description> qa</description>
<description>qas</description>
</file>
</files>
I am trying to search for every <description> element that may contain content
such as 'qas'. I wrote the following method, but there are some potential
problems with it. (1) It only searches the first element of <file> and never
goes to the second <file> element. (2) It only searches the first <description>
element of <file> element and never goes to the second <description> element.
If I try to search for 'qas', then I get the following error:
name is "fg" , directory is "directory", size is" 8"
[Ljava.lang.String;@2b6651
Exception in thread "main" java.lang.NullPointerException
at Jdom_files.searchFiles(Jdom_files.java:154)
at Jdom_files.main(Jdom_files.java:193)
I will be very grateful if someone can tell what i may be doing wrong and if
possible provide me with code showing how I can search through the element. My
method is as follows:
public String searchFiles(String search)
{
String[] none= {"No Files Found"};
// defaultTable = table;
Element root = document.getRootElement();
List files = root.getChildren("file");
Iterator i=files.iterator();
while (i.hasNext())
{
Element file= (Element)i.next();
int count=0;
//// set up loop to read description//
String description = file.getChild("description").getText();
//if (search.equals(description))
int q = search.compareTo(description);
if (q==0)
{
String name=file.getAttributeValue("name");
String directory =file.getAttributeValue("directory");
String size = file.getAttributeValue("size");
String[] data= {name,directory,size};
System.out.println( "name is " +name +" directory is "+ directory +"
size is "+ size);
//defaultTable.addRow(data);
count++; // increment number of description tag found
}//// end of loop//
else if (count==0)
{ // if no description tag found
//String[] none= {"No Files Found"};
//defaultTable.addRow(none);
System.out.println(none);
}
}
return null;
}
Regards
Qasim
-------------------------------------------------
This mail sent through IMP: webmail.brad.ac.uk
More information about the jdom-interest
mailing list