If you want to select them, then:

XMLList list = xml.descendants().(@type = "file)

otherwise, i'd still get that list and then loop through it and delete each
by doing (exact code might need some cleaning):

for (each item:XML in list) {
   delete item.parent()[item.childIndex()];
}



On Wed, Apr 22, 2009 at 7:14 PM, Michael Slinn <[email protected]> wrote:

>
>
> I would like to filter out all elements with type="file" from the following
> XML. That turns out to be rather difficult because <node/> elements are
> nested. Any suggestions?
>
> <?xml version="1.0" encoding="UTF-8"?>
> <node name="classes" type="dir" uri="file:/classes/">
> <node name="spring-beans-2.0.dtd" type="file"
> uri="file:/classes/spring-beans-2.0.dtd" /><node name=".svn" type="dir"
> uri="file:/classes/.svn/"><node name="props" type="dir"
> uri="file:/classes/.svn/props/" /><node name="text-base" type="dir"
> uri="file:/classes/.svn/text-base/"><node name="sample.log4j.xml.svn-base"
> type="file" uri="file:/classes/.svn/text-base/sample.log4j.xml.svn-base"
> /></node><node name="format" type="file" uri="file:/classes/.svn/format"
> /><node name="prop-base" type="dir"
> uri="file:/classes/.svn/prop-base/"><node name="sample.log4j.xml.svn-base"
> type="file" uri="file:/classes/.svn/prop-base/sample.log4j.xml.svn-base"
> /></node><node name="entries" type="file" uri="file:/classes/.svn/entries"
> /><node name="tmp" type="dir" uri="file:/classes/.svn/tmp/"><node
> name="props" type="dir" uri="file:/classes/.svn/tmp/props/" /><node
> name="text-base" type="dir" uri="file:/classes/.svn/tmp/text-base/" /><node
> name="prop-base" type="dir" uri="file:/classes/.svn/tmp/prop-base/"
> /></node></node><node name="com" type="dir" uri="file:/classes/com/"><node
> name=".svn" type="dir" uri="file:/classes/com/.svn/"><node name="props"
> type="dir" uri="file:/classes/com/.svn/props/" /><node name="text-base"
> type="dir" uri="file:/classes/com/.svn/text-base/" /><node name="format"
> type="file" uri="file:/classes/com/.svn/format" /><node name="prop-base"
> type="dir" uri="file:/classes/com/.svn/prop-base/" /><node name="entries"
> type="file" uri="file:/classes/com/.svn/entries" /><node name="tmp"
> type="dir" uri="file:/classes/com/.svn/tmp/"><node name="props" type="dir"
> uri="file:/classes/com/.svn/tmp/props/" /><node name="text-base" type="dir"
> uri="file:/classes/com/.svn/tmp/text-base/" /><node name="prop-base"
> type="dir" uri="file:/classes/com/.svn/tmp/prop-base/" /></node></node><node
> name="kahootz" type="dir" uri="file:/classes/com/kahootz/"><node
> name="activemq.xml" type="file" uri="file:/classes/com/kahootz/activemq.xml"
> /><node name="context" type="dir"
> uri="file:/classes/com/kahootz/context/"><node name="remote-jms-context.xml"
> type="file" uri="file:/classes/com/kahootz/context/remote-jms-context.xml"
> /><node name=".svn" type="dir"
> uri="file:/classes/com/kahootz/context/.svn/"><node name="props" type="dir"
> uri="file:/classes/com/kahootz/context/.svn/props/" /><node name="text-base"
> type="dir" uri="file:/classes/com/kahootz/context/.svn/text-base/"><node
> name="jms-context.xml.svn-base" type="file"
> uri="file:/classes/com/kahootz/context/.svn/text-base/jms-context.xml.svn-base"
> /><node name="remote-jms-context.xml.svn-base" type="file"
> uri="file:/classes/com/kahootz/context/.svn/text-base/remote-jms-context.xml.svn-base"
> /></node><node name="format" type="file"
> uri="file:/classes/com/kahootz/context/.svn/format" /><node name="prop-base"
> type="dir" uri="file:/classes/com/kahootz/context/.svn/prop-base/"><node
> name="jms-context.xml.svn-base" type="file"
> uri="file:/classes/com/kahootz/context/.svn/prop-base/jms-context.xml.svn-base"
> /><node name="remote-jms-context.xml.svn-base" type="file"
> uri="file:/classes/com/kahootz/context/.svn/prop-base/remote-jms-context.xml.svn-base"
> /></node><node name="entries" type="file"
> uri="file:/classes/com/kahootz/context/.svn/entries" /><node name="tmp"
> type="dir" uri="file:/classes/com/kahootz/context/.svn/tmp/"><node
> name="props" type="dir"
> uri="file:/classes/com/kahootz/context/.svn/tmp/props/" /><node
> name="text-base" type="dir"
> uri="file:/classes/com/kahootz/context/.svn/tmp/text-base/" /><node
> name="prop-base" type="dir"
> uri="file:/classes/com/kahootz/context/.svn/tmp/prop-base/"
> /></node></node><node name="server-context.xml" type="file"
> uri="file:/classes/com/kahootz/context/server-context.xml" /><node
> name="jms-context.xml" type="file"
> uri="file:/classes/com/kahootz/context/jms-context.xml" /></node><node
> name="space" type="dir" uri="file:/classes/com/kahootz/space/"><node
> name="context" type="dir"
> uri="file:/classes/com/kahootz/space/context/"><node
> name="remote-space-context.xml" type="file"
> uri="file:/classes/com/kahootz/space/context/remote-space-context.xml"
> /><node name=".svn" type="dir"
> uri="file:/classes/com/kahootz/space/context/.svn/"><node name="props"
> type="dir" uri="file:/classes/com/kahootz/space/context/.svn/props/" /><node
> name="text-base" type="dir"
> uri="file:/classes/com/kahootz/space/context/.svn/text-base/"><node
> name="space-context.xml.svn-base" type="file"
> uri="file:/classes/com/kahootz/space/context/.svn/text-base/space-context.xml.svn-base"
> /><node name="local-space-context.xml.svn-base" type="file"
> uri="file:/classes/com/kahootz/space/context/.svn/text-base/local-space-context.xml.svn-base"
> /><node name="remote-space-context.xml.svn-base" type="file"
> uri="file:/classes/com/kahootz/space/context/.svn/text-base/remote-space-context.xml.svn-base"
> /></node><node name="format" type="file"
> uri="file:/classes/com/kahootz/space/context/.svn/format" /><node
> name="prop-base" type="dir"
> uri="file:/classes/com/kahootz/space/context/.svn/prop-base/"><node
> name="space-context.xml.svn-base" type="file"
> uri="file:/classes/com/kahootz/space/context/.svn/prop-base/space-context.xml.svn-base"
> /><node name="local-space-context.xml.svn-base" type="file"
> uri="file:/classes/com/kahootz/space/context/.svn/prop-base/local-space-context.xml.svn-base"
> /><node name="remote-space-context.xml.svn-base" type="file"
> uri="file:/classes/com/kahootz/space/context/.svn/prop-base/remote-space-context.xml.svn-base"
> /></node><node name="entries" type="file"
> uri="file:/classes/com/kahootz/space/context/.svn/entries" /><node
> name="tmp" type="dir"
> uri="file:/classes/com/kahootz/space/context/.svn/tmp/"><node name="props"
> type="dir" uri="file:/classes/com/kahootz/space/context/.svn/tmp/props/"
> /><node name="text-base" type="dir"
> uri="file:/classes/com/kahootz/space/context/.svn/tmp/text-base/" /><node
> name="prop-base" type="dir"
> uri="file:/classes/com/kahootz/space/context/.svn/tmp/prop-base/"
> /></node></node><node name="space-context.xml" type="file"
> uri="file:/classes/com/kahootz/space/context/space-context.xml" /><node
> name="local-space-context.xml" type="file"
> uri="file:/classes/com/kahootz/space/context/local-space-context.xml"
> /></node><node name=".svn" type="dir"
> uri="file:/classes/com/kahootz/space/.svn/"><node name="props" type="dir"
> uri="file:/classes/com/kahootz/space/.svn/props/" /><node name="text-base"
> type="dir" uri="file:/classes/com/kahootz/space/.svn/text-base/" /><node
> name="format" type="file" uri="file:/classes/com/kahootz/space/.svn/format"
> /><node name="prop-base" type="dir"
> uri="file:/classes/com/kahootz/space/.svn/prop-base/" /><node name="entries"
> type="file" uri="file:/classes/com/kahootz/space/.svn/entries" /><node
> name="tmp" type="dir" uri="file:/classes/com/kahootz/space/.svn/tmp/"><node
> name="props" type="dir"
> uri="file:/classes/com/kahootz/space/.svn/tmp/props/" /><node
> name="text-base" type="dir"
> uri="file:/classes/com/kahootz/space/.svn/tmp/text-base/" /><node
> name="prop-base" type="dir"
> uri="file:/classes/com/kahootz/space/.svn/tmp/prop-base/"
> /></node></node></node><node name="kahootz.properties" type="file"
> uri="file:/classes/com/kahootz/kahootz.properties" /><node name=".svn"
> type="dir" uri="file:/classes/com/kahootz/.svn/"><node name="props"
> type="dir" uri="file:/classes/com/kahootz/.svn/props/" /><node
> name="text-base" type="dir"
> uri="file:/classes/com/kahootz/.svn/text-base/"><node
> name="activemq.xml.svn-base" type="file"
> uri="file:/classes/com/kahootz/.svn/text-base/activemq.xml.svn-base"
> /></node><node name="format" type="file"
> uri="file:/classes/com/kahootz/.svn/format" /><node name="prop-base"
> type="dir" uri="file:/classes/com/kahootz/.svn/prop-base/"><node
> name="activemq.xml.svn-base" type="file"
> uri="file:/classes/com/kahootz/.svn/prop-base/activemq.xml.svn-base"
> /></node><node name="entries" type="file"
> uri="file:/classes/com/kahootz/.svn/entries" /><node name="tmp" type="dir"
> uri="file:/classes/com/kahootz/.svn/tmp/"><node name="props" type="dir"
> uri="file:/classes/com/kahootz/.svn/tmp/props/" /><node name="text-base"
> type="dir" uri="file:/classes/com/kahootz/.svn/tmp/text-base/" /><node
> name="prop-base" type="dir"
> uri="file:/classes/com/kahootz/.svn/tmp/prop-base/" /></node></node><node
> name="client" type="dir" uri="file:/classes/com/kahootz/client/"><node
> name="context" type="dir"
> uri="file:/classes/com/kahootz/client/context/"><node
> name="business-layer-context.xml" type="file"
> uri="file:/classes/com/kahootz/client/context/business-layer-context.xml"
> /><node name=".svn" type="dir"
> uri="file:/classes/com/kahootz/client/context/.svn/"><node name="props"
> type="dir" uri="file:/classes/com/kahootz/client/context/.svn/props/"
> /><node name="text-base" type="dir"
> uri="file:/classes/com/kahootz/client/context/.svn/text-base/"><node
> name="business-layer-context.xml.svn-base" type="file"
> uri="file:/classes/com/kahootz/client/context/.svn/text-base/business-layer-context.xml.svn-base"
> /></node><node name="format" type="file"
> uri="file:/classes/com/kahootz/client/context/.svn/format" /><node
> name="prop-base" type="dir"
> uri="file:/classes/com/kahootz/client/context/.svn/prop-base/"><node
> name="business-layer-context.xml.svn-base" type="file"
> uri="file:/classes/com/kahootz/client/context/.svn/prop-base/business-layer-context.xml.svn-base"
> /></node><node name="entries" type="file"
> uri="file:/classes/com/kahootz/client/context/.svn/entries" /><node
> name="tmp" type="dir"
> uri="file:/classes/com/kahootz/client/context/.svn/tmp/"><node name="props"
> type="dir" uri="file:/classes/com/kahootz/client/context/.svn/tmp/props/"
> /><node name="text-base" type="dir"
> uri="file:/classes/com/kahootz/client/context/.svn/tmp/text-base/" /><node
> name="prop-base" type="dir"
> uri="file:/classes/com/kahootz/client/context/.svn/tmp/prop-base/"
> /></node></node></node><node name=".svn" type="dir"
> uri="file:/classes/com/kahootz/client/.svn/"><node name="props" type="dir"
> uri="file:/classes/com/kahootz/client/.svn/props/" /><node name="text-base"
> type="dir" uri="file:/classes/com/kahootz/client/.svn/text-base/" /><node
> name="format" type="file" uri="file:/classes/com/kahootz/client/.svn/format"
> /><node name="prop-base" type="dir"
> uri="file:/classes/com/kahootz/client/.svn/prop-base/" /><node
> name="entries" type="file"
> uri="file:/classes/com/kahootz/client/.svn/entries" /><node name="tmp"
> type="dir" uri="file:/classes/com/kahootz/client/.svn/tmp/"><node
> name="props" type="dir"
> uri="file:/classes/com/kahootz/client/.svn/tmp/props/" /><node
> name="text-base" type="dir"
> uri="file:/classes/com/kahootz/client/.svn/tmp/text-base/" /><node
> name="prop-base" type="dir"
> uri="file:/classes/com/kahootz/client/.svn/tmp/prop-base/"
> /></node></node></node></node></node><node name="sample.log4j.xml"
> type="file" uri="file:/classes/sample.log4j.xml" /><node name="log4j.xml"
> type="file" uri="file:/classes/log4j.xml" /></node>
>
> Mike
>
>  
>

Reply via email to