[
Lists Home |
Date Index |
Thread Index
]
C#:
XmlNodeList getChildren(XmlDocument doc){ return
doc.SelectNodes("//*"); }
Java - Xalan:
NodeList getChildren(Document doc){ return
XPathAPI.selectNodeList(doc, "//*"); }
--
PITHY WORDS OF WISDOM
The buddy system is essential to your survival; it gives the enemy
somebody else to shoot at.
This posting is provided "AS IS" with no warranties, and confers no
rights.
> -----Original Message-----
> From: Danny Ayers [mailto:danny666@virgilio.it]
> Sent: Thursday, August 08, 2002 3:37 PM
> To: Xml-Dev
> Subject: [xml-dev] code challenge
>
>
> It may be questionable form to talk code on the list, but for
> them that like to roll their sleeves up here's a bit of fun.
>
> I was moving an app to a different environment when (surprise
> surprise) it broke. After a lot of nosing around, I found the
> culprit - getting a list of all elements in a populated XML
> DOM doc this way :
>
> NodeList elements =
> document.getDocumentElement().getElementsByTagNameNS("*", "*");
>
> It seems the DOM library in the new environment didn't
> support this and (DOM 1 style??) ignored the ns parameter and
> always returned no elements at all.
>
> Ok, assuming list subscribers have coding calibre a fraction
> of their verbal skills, producing a list of all elements by
> other means would be no challenge at all (if there's another
> built-in that can do this directly, I humbly apologise for
> wasting your time). However (for reasons I'd rather not go
> into), I need this done in as few lines of code as possible.
> My attempt is below - the use of a global looks ugly to me,
> but it works.
>
> The prize is a bottle of Chianti (winner collects ;-)
>
> Cheers,
> Danny.
>
>
> List elements = new ArrayList();
>
> public void getChildren(Element element) {
>
> elements.add(element);
>
> Node child;
> Node next = (Node) element.getFirstChild();
> while ((child = next) != null) {
> next = child.getNextSibling();
> if (child.getNodeType() == Node.ELEMENT_NODE) {
> getChildren((Element) child);
> }
> }
> }
>
>
>
> ---
> Danny Ayers
> <stuff> http://www.isacat.net </stuff>
>
> Idea maps for the Semantic Web
> http://ideagraph.net
>
>
> -----------------------------------------------------------------
> The xml-dev list is sponsored by XML.org
> <http://www.xml.org>, an initiative of OASIS
<http://www.oasis-open.org>
The list archives are at http://lists.xml.org/archives/xml-dev/
To subscribe or unsubscribe from this list use the subscription
manager: <http://lists.xml.org/ob/adm.pl>
|