Portál AbcLinuxu, 10. května 2025 03:03

Dotaz: Python - načíst xml ze socketu a vypsat ho

20.4.2009 21:52 kub. | skóre: 28
Python - načíst xml ze socketu a vypsat ho
Přečteno: 283×
Odpovědět | Admin

Ahoj, neumim python ale kvůli jednomu projektu s nim musím pracovat a nutně bych potřeboval vědět jak na tohle:

-http server mi vrací jako odpověď XML. to xml načtu ale když ho chci vypsat, zmizí tagy a celkově se nějak zmrší (BRTRuriidtitlreadablwritable2http://localhost...)

-já bych potřeboval ho buď umět aspoň vypsat jako XML na stdout nebo ho načíst do DOM a pak už si najdu jak ho exportovat (to by asi bylo lepší)

Pomůže mi někdo? Můj současný kod je takový:

<code>

import urllib
sock = urllib.urlopen("http://localhost:8080/server")
htmlSource = escape(sock.read())
sock.close()
print htmlSource

</code>

 

Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

20.4.2009 21:54 kub. | skóre: 28
Rozbalit Rozbalit vše Re: Python - načíst xml ze socketu a vypsat ho
Odpovědět | | Sbalit | Link | Blokovat | Admin

Ehm, ta funkce escape tam byt nemá, to je pozůstatek testování.

A mělo to být v html :-[

21.4.2009 10:33 Non_E | skóre: 24 | blog: hic_sunt_leones | Pardubice
Rozbalit Rozbalit vše Re: Python - načíst xml ze socketu a vypsat ho
Kód jsem zkusil v konzoli a stránku mi to dle očekávání načte i s tagy. Nesnažíte se to xml zobrazit ve webovém prohlížeči?
Only Sith deals in absolutes.
21.4.2009 13:05 kub. | skóre: 28
Rozbalit Rozbalit vše Re: Python - načíst xml ze socketu a vypsat ho

Je to jako plugin do Tracu. Ale bez tagů se to vypisuje i v prohlížeči (což poměrně chápu, nebo mě to aspon nepřekvapuje) tak v konzoli ze které jsem spouštěl Trac.

Tam mi to už je divné, protože tam není žádné html, které by mi to mršilo....

21.4.2009 23:41 kub. | skóre: 28
Rozbalit Rozbalit vše Re: Python - načíst xml ze socketu a vypsat ho

Tak ne, ani přímo z python konzole mi to nezachová ty tagy:

>>> import urllib
>>> sock = urllib.urlopen("http://localhost:8080/openrdf-sesame/repositories")
>>> htmlSource = sock.read()
>>> sock.close()
>>> print htmlSource
BRTRuriidtitlreadablwritable2http://localhost:8080/

Ten výstup by měl být

<?xml version='1.0' encoding='UTF-8'?>
<sparql xmlns='http://www.w3.org/2005/sparql-results#'>
    <head>
        <variable name='uri'/>
        <variable name='id'/>
        <variable name='title'/>
        <variable name='readable'/>
        <variable name='writable'/>
    </head>
    <results>......

Z firefoxu mi to funguje.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.