From: Garcia, M. <mgarcia@Businessedge.com> - 2001-08-09 20:42:29
|
If you are using the Xerces API this is easy to do in Jython. Assuming you are using a DOMParser try this: ##I'm reading my xml from a file and using a CharArrayReader >>> charArryRdr = CharArrayReader(charArry) >>> from org.xml.sax import * >>> inSource = InputSource(charArryRdr) >>> parser org.apache.xerces.parsers.DOMParser@43e3fb >>> parser.parse(inSource) >>> doc = parser.getDocument() >>> doc [#document: null] >>> root = doc.getDocumentElement() >>> root [Portfolio_Builder: null] >>> nodeLst = root.getElementsByTagName('Portfolio_Breakdown') >>> nodeLst org.apache.xerces.dom.DeepNodeListImpl@79e328 >>> nodeLst.getLength() 1 >>> node = nodeLst.item(0) >>> node [Portfolio_Breakdown: null] >>> children = node.getChildNodes() >>> children.getLength() 5 >>> Once you get to the depth you want you can use getNextSibling() to give you the next element at the same node level. Hope this helps. Mick -----Original Message----- From: Richard Clark To: jyt...@li... Sent: 8/9/01 12:18 PM Subject: [Jython-users] problem with Xerces equals I'm using the Xerces DOM parser. I'm trying to execute some code that only gets the first level of children from a tree: parent | +---->child1 | | | +----->child3 | +---->child2 I only want to get child1 and child2. so what I do is: for node in parent.childNodes: if node.parentNode == parent: #do stuff in jython the '==' comparison always fails. Under Python the same code works alright. Any ideas? Thanks, Rich _______________________________________________ Jython-users mailing list Jyt...@li... http://lists.sourceforge.net/lists/listinfo/jython-users |