Article View: pl.comp.lang.python
Article #27516Re: parsowanie xml'a w pythonie
From: Jordan Szubert
Date: Tue, 15 Jun 2010 17:09
Date: Tue, 15 Jun 2010 17:09
69 lines
3114 bytes
3114 bytes
Dnia 15-06-2010 o 14:31:02 Wróbel <NOwrobel@e-wrobel.pl> napisał(a):
> Cze¶æ,
>
> Chcê wyci±gn±æ z pliku xml imie oraz email (z "osoba" pliku xml:
> <znajomi>
> <osoba>
> <imie foo="zzz">Zygmunt</imie>
> <email>1@1.pl</email>
> </osoba>
> <osoba>
> <imie foo="aaaa">Janina</imie>
> <email>2@2.pl</email>
> </osoba>
> </znajomi>
> kod:from xml.dom import minidom
>
> #Open XML document using minidom parser
> DOMTree = minidom.parse('plik.xml')
>
> #pobieramy elementy struktury dokumentu XML
> cNodes = DOMTree.childNodes
> for i in cNodes[0].getElementsByTagName("osoba"):
> # wartosc taga
> print i.getElementsByTagName("imie")[0].childNodes[0].toxml()
> co powinienem dodaæ, aby dostaæ warto¶æ "emaila" ?print
> i.getElementsByTagName("email")[0].childNodes[0].toxml() niestety nie
> dzialaPrzesla³em Wam ksi±¿kowy przyklad, mój kod jest troszkê inny, ale
> idea
> ta sama.Dziêki z góry
Python 3.1.2 (r312:79149, Mar 21 2010, 00:41:52) [MSC v.1500 32 bit
(Intel)] on
win32
Type "help", "copyright", "credits" or "license" for more information.
>>> xml="""
... <znajomi>
... <osoba>
... <imie foo="zzz">Zygmunt</imie>
... <email>1@1.pl</email>
... </osoba>
... <osoba>
... <imie foo="aaaa">Janina</imie>
... <email>2@2.pl</email>
... </osoba>
... </znajomi>
... """
>>> from xml.dom.minidom import parseString
>>> T=parseString(xml)
>>> print(T.toxml())
<?xml version="1.0" ?><znajomi>
<osoba>
<imie foo="zzz">Zygmunt</imie>
<email>1@1.pl</email>
</osoba>
<osoba>
<imie foo="aaaa">Janina</imie>
<email>2@2.pl</email>
</osoba>
</znajomi>
>>> for n in T.getElementsByTagName('osoba'):
... print(n.getElementsByTagName('imie').item(0).lastChild.nodeValue)
... print(n.getElementsByTagName('email').item(0).lastChild.nodeValue)
...
Zygmunt
1@1.pl
Janina
2@2.pl
Technical Details
Message-ID:
<op.vecpyh2mus2y1v@klaptop7>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!plix.pl!newsfeed1.plix.pl!goblin2!goblin.stu.neva.ru!xlned.com!feeder5.xlned.com!feeder3.cambriumusenet.nl!feed.tweaknews.nl!209.197.12.242.MISMATCH!nx01.iad01.newshosting.com!209.197.12.246.MISMATCH!nx02.iad01.newshosting.com!newshosting.com!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-a-02.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mailReferences:
<hv7rq6$klh$1@inews.gazeta.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!plix.pl!newsfeed1.plix.pl!goblin2!goblin.stu.neva.ru!xlned.com!feeder5.xlned.com!feeder3.cambriumusenet.nl!feed.tweaknews.nl!209.197.12.242.MISMATCH!nx01.iad01.newshosting.com!209.197.12.246.MISMATCH!nx02.iad01.newshosting.com!newshosting.com!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-a-02.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail Newsgroups: pl.comp.lang.python Subject: Re: parsowanie xml'a w pythonie References: <hv7rq6$klh$1@inews.gazeta.pl> Date: Tue, 15 Jun 2010 19:09:43 +0200 MIME-Version: 1.0 From: "Jordan Szubert" <nie@podam.na.razie> Organization: HELL inc. Message-ID: <op.vecpyh2mus2y1v@klaptop7> User-Agent: Opera Mail/10.53 (Win32) X-Antivirus: avast! (VPS 100615-0, 2010-06-15), Outbound message X-Antivirus-Status: Clean Lines: 77 NNTP-Posting-Host: 83.26.218.63 X-Trace: 1276621782 unt-rea-a-02.news.neostrada.pl 2596 83.26.218.63:18882 X-Complaints-To: abuse@news.neostrada.pl Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit