[jdom-interest] Finding text for an element in an XML Doc

Scott Johnston scott at kintana.com
Thu Apr 19 08:58:01 PDT 2001


You can ignore this message. Didn't realize werken.xpath existed. Could have
sworn I scrubbed the FAQ but looks like I overlooked it.

Thanks Bob,

sj

-----Original Message-----
From: Scott Johnston 
Sent: Thursday, April 19, 2001 8:49 AM
To: 'mglass at datalinx.net'; jdom-interest
Subject: RE: [jdom-interest] Finding text for an element in an XML Doc


I actually have been meaning to ask about this. On a recent project I had
the same needs but even a step further. I needed to find specific nodes
based on their children. I ended up going to the road of partially
implementing XSLT searching. I didn't get to attribute specification but
this would be easy to add. Right now I did it with utility methods (not by
subclassing Element). The controlling utility method looks like this:
/** 
 * Performs a hierarchy traversal 
 * to find a child node. Format of the path is expected like: 
 * <code>/root/path/to/child</code>. The method starts looking from the
parent 
 * element passed to the method. Note that specifying a non-unique child 
 * can cause unexpected results (method with return the first child matching

 * the path). To select children from a list use the query format: 
 * <code>/root/path/to(child_node="value")/child</code>. Currently 
 * this method only support AND queries in the format 
 * (node1="val1" and node2="val2"). 
 * 
 * @param parent the element to start with 
 * @param path full path to descendant node 
 * @return the matching element, null if none if found 
 * 
 * @see findChild(Element,String,String) 
 */ 
public static Element getDescendant(Element parent, String path) 
This allows you to get a descendant using "/path/to/element" or 
"/path/to/element(child="value" and child="value")/blah/blah. As I 
mentioned it currently only supports "and" queries and doesn't handle 
attributes. This method was a nice generalization I could use in a 
couple places that parsed config files and messages. 
Anyway I would be happy to contribute code but I'm new to JDOM so I'm 
not sure how I would go about doing that. Seems like it would be a serious 
and possibly confusing change to the API. Thoughts? 
hope all is well, 
sj 
> -----Original Message----- 
> From: Mark Glass [mailto:mglass at datalinx.net] 
> Sent: Thursday, April 19, 2001 8:07 AM 
> To: jdom-interest 
> Subject: [jdom-interest] Finding text for an element in an XML Doc 
> 
> 
> Hi all, 
>   I need some suggestions -- I'm working on an application 
> which reads 
> an XML document, determines the text in a node which is specified by 
> through a config file and returns the ttext. I intened to use XPath, 
> e.g. String elementText = 
> getKeyFieldText("/root/subelement1/childelement/Text()"). After doing 
> some investigation it appears that XPath is used only for 
> XSL. Are there 
> any libraries available that will allow items to be located in an XML 
> document? 
> 
> Thanks in advance for your help.. 
> 
> Mark Glass 
> 
> _______________________________________________ 
> To control your jdom-interest membership: 
> http://lists.denveronline.net/mailman/options/jdom-interest/yo 
uraddr at yourhost.com 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://jdom.org/pipermail/jdom-interest/attachments/20010419/dfd5fcf5/attachment.htm


More information about the jdom-interest mailing list