Le Vendredi 2 Décembre 2005 18:31, [EMAIL PROTECTED] a écrit :
> I'm trying to iterate through repeating elements to extract data using
> libxml2 but I'm having zero luck - any help would be appreciated.
>
> My XML source is similar to the following - I'm trying to extract the
> line number and product code from the repeating line elements:
>
> <order xmlns="some-ns">
>   <header>
>     <orderno>123456</orderno>
>   </header>
>   <lines>
>     <line>
>       <lineno>1</lineno>
>       <productcode>PENS</productcode>
>     </line>
>     <line>
>       <lineno>2</lineno>
>       <productcode>STAPLER</productcode>
>     </line>
>     <line>
>       <lineno>3</lineno>
>       <productcode>RULER</productcode>
>     </line>
>   </lines>
> </order>
        The result of an xpath evaluation is a list of node, which you can 
perform 
another xpatheval() on :

import libxml2
doc = libxml2.parseFile(XmlFile)
root = doc.getRootElement()
line_nodes = root.xpathEval('lines/line')
for line_node in line_nodes:
        print line_node.xpathEval('lineno')[0].content
        print line_node.xpathEval('productcode')[0].content
doc.freeDoc()

-- 
Cordially

Jean-Roch SOTTY
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to