[jdom-interest] parsing jdom
Srinivas.Kotamraju at arvatosystems.com
Srinivas.Kotamraju at arvatosystems.com
Mon Mar 8 07:43:26 PST 2004
Hi Chris,
Thanks for the response.But how would I be able to generate the new document
with the List?In the method doit() I get a list of elements, as a List. How
would I iterate the List to get back the new structure having the integrity
with regards to the depth level?
regards
-----Original Message-----
From: Chris B. [mailto:chris at tech.com.au]
Sent: Saturday, March 06, 2004 7:05 AM
To: Srinivas.Kotamraju at arvatosystems.com
Cc: jdom-interest at jdom.org
Subject: Re: [jdom-interest] parsing jdom
List result = new ArrayList();
doit(doc.getRootElement(), "z", result);
void doit(Element el, String name, List result) {
if (el.getName().equals(name)) {
result.add(el.getParent());
}
Iterator it = el.getChildren().iterator();
while (it.hasNext()) {
doit((Element)it.next(), name, result);
}
}
Srinivas.Kotamraju at arvatosystems.com wrote:
> I am trying to parse an xml schema and create a new xml document . I
>am looking for an element which could be at any level inside an xml schema
>and return just the parents of that element using JDOM. I started the code
>but hit a dead end..Could some one help me with the code..
> for ex:
> <rootElement>
> <a></a>
> <b></b>
> <x>
> <y>
> <z></z>
> </y>
> </x>
> </rootElement>
> I have a method where I pass the element name z as an argument and I
>wish to get back the xml below(just the parents of the element I am looking
>for)
> ..note that elements a and b are skipped.
>
> <rootElement>
> <x>
> <y>
> <z></z>
> </y>
> </x>
> </rootElement>
>
>
> private void parseschema( String elementName, String schemafilename)
>throws IOException {
>
> boolean hasNoChildren=false;
> SAXBuilder builder = new SAXBuilder();
>
> try {
> Document schemaDoc = builder.build(schemafilename);
> List elements = schemaDoc.getRootElement().getChildren();
> if ( elements.size()==0 ) {
> hasNoChildren=true;
> //throw an exception.
> }
> else
> {
> Iterator iElts = elements.iterator();
> while (iElts.hasNext()) {
> Element currElt = (Element) iElts.next();
> String eleName = currElt .getName();
> if (eleName.equals(elementName))
> {
> //match
> }
> else
> {
> //continue descent until match and return only the parents of the
>element passed.
> }
> }
> }
>
> } catch (JDOMException e) {
> throw new IOException(e.getMessage());
> }
> }
>
>
> Thanks
> srini
>
>
>>
>>
>>
>_______________________________________________
>To control your jdom-interest membership:
>http://lists.denveronline.net/mailman/options/jdom-interest/youraddr@yourho
st.com
>
>
More information about the jdom-interest
mailing list