🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.python
3 messages
3 total messages Started by OMS Diver Thu, 05 May 2011 12:40
lxml i elementy z prefixem
#28011
Author: OMS Diver
Date: Thu, 05 May 2011 12:40
27 lines
1862 bytes
Czy ktoś mógłby mi pomóc w kwestii tworzenia elementów xml'a z wykorzystaniem lxml tak, aby tagi tychże elementów 
zawierały prefix.

self.xmlNSMap = {"atom" : "http://www.w3.org/2005/Atom", \
                  "kml"  : "http://www.opengis.net/kml/2.2", \
                  "gx"   : "http://www.google.com/kml/ext/2.2", \
                   None   : "http://www.opengis.net/kml/2.2"}
self.xmlDocument = etree.Element("Document", nsmap = self.xmlNSMap)

polecenie
print etree.tostring(self.xmlDocument, pretty_print = True) daje następujący wynik

	<Document xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns:kml="http://www.opengis.net/kml/2.2"
	xmlns:atom="http://www.w3.org/2005/Atom" xmlns="http://www.opengis.net/kml/2.2"/>

czyli to czego oczekiwałem, ale tutaj wpadam w ciemną dziurę bo nie mam pojęcia co trzeba dodać do polecenia SubElement

	self.xmlName = etree.SubElement(self.xmlDocument, "name")
	self.xmlName.text = "TEXT"

żeby otrzymać

	<gx:name>TEXT</gx:name>

Dzięki z góry za pomoc

oms
Re: lxml i elementy z prefixem
#28020
Author: Wojciech Malinowski
Date: Thu, 05 May 2011 18:34
27 lines
1710 bytes
On 05/05/11 14:40, OMS Diver wrote:
[cut]
> czyli to czego oczekiwałem, ale tutaj wpadam w ciemną dziurę bo nie mam
> pojęcia co trzeba dodać do polecenia SubElement
> 
>     self.xmlName = etree.SubElement(self.xmlDocument, "name")
>     self.xmlName.text = "TEXT"
> 
> żeby otrzymać
> 
>     <gx:name>TEXT</gx:name>

Pamiętam, że sam się kiedyś tego naszukałem. W jednym ze swoich
projektów napisałem to tak (skróciłem trochę bo funkcja jest dużo
bardziej złożona):

def add_foobar_tag(parent, tag):
    etree.SubElement(parent, u"{%s}%s" % (FOOBAR_NAMESPACE, tag))

Czyli skorzystałem z tego czym tak naprawdę są namespace'y. lxml to
sobie parsuje i daje efekt taki jaki chcesz.

Jeżeli jest lepsza metoda to sam się chętnie dowiem, bo nie wygląda mi
to najlepiej.

Pozdrawiam,
Wojciech Malinowski
Re: lxml i elementy z prefixem
#28021
Author: OMS Diver
Date: Thu, 05 May 2011 18:37
6 lines
1259 bytes
> Jeżeli jest lepsza metoda to sam się chętnie dowiem, bo nie wygląda mi
> to najlepiej.
Jeśli poznam takową to na pewno się podzielę. Dzięki na podpowiedź, chociaż miałem nadzieje, że tak profesjonalny pakiet 
jak lxml to jednak będzie mial jakąś metodę, no ale cóż jak si nie ma co się lubi to się lubi co się ma.

Pozdro
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads