url fetching from xml depending upon selection
Stefan Behnel
stefan_ml at behnel.de
Tue May 18 04:12:57 EDT 2010
shanti bhushan, 18.05.2010 07:18:
> I have a sample.XML file
> the code is like this
>
> <?xml version="1.0" encoding="UTF-8"?>
> <opml version="1.0">
> <head>
> <title>My Podcasts</title>
> <dateCreated>Sun, 07 Mar 2010 15:53:26
>
> GMT</dateCreated>
> <dateModified>Sun, 07 Mar 2010 15:53:26
>
> GMT</dateModified>
> </head>
> <body>
> <TestCase name="Sprint_001">
> <Input url="http://first.co.jp" />
> <Input url="http://www.google.com" />
> <Input url="http://www.epaper.times.india.com" />
> </TestCase>
> <TestCase name="Sprint_002">
> <Input url="http://second.co.jp" />
> <Input url="http://www.google.com" />
> <Input url="http://www.epaper.times.india.com" />
> </TestCase>
> <TestCase name="Sprint_003">
> <Input url="http://third.co.jp" />
> <Input url="http://www.google.com" />
> <Input url="http://www.epaper.times.india.com" />
> </TestCase>
> </body>
> </opml>
>
>
> This my python code
> from xml.etree import ElementTree
>
> with open('our.xml', 'rt') as f:
> tree = ElementTree.parse(f)
>
> for node, value in tree.findall('.//TestCase/Input'):
>
> url=node.attrib.get('url')
> print url
>
>
>
> i want to print the url depending on name="sprint_001".
> If i change my option to sprint_002 it should print url for sprint_002
Actually, try this:
test_cases = dict(
(test_case.get('name'), [ el.get('url') for el in test_case ])
for test_case in tree.findall('.//TestCase') )
print test_cases['Sprint_001'] # -> prints list of URLs
That gives you a dict of test case names that are mapped to the list of
their URLs.
Stefan
More information about the Python-list
mailing list