def start(self):
		self.writer = SimpleXMLWriter(self.stream)
		if self.wrapper:
			self.writer.start(self.wrapper)
Exemple #2
0
 def start(self):
     self.writer = SimpleXMLWriter(self.stream)
     if self.wrapper:
         self.writer.start(self.wrapper)
class XMLWriter(WriterBase):
	def start(self):
		self.writer = SimpleXMLWriter(self.stream)
		if self.wrapper:
			self.writer.start(self.wrapper)
	
	def end(self):
		if self.wrapper:
			self.writer.end()
	
	def item(self, item):
		if self.item_wrapper:
			self.writer.start(self.item_wrapper)
		
		self._item(item)
		if self.item_wrapper:
			self.writer.end(self.item_wrapper)
	
	def _item(self, item):
		if isinstance(item, dict):
			for key, value in item.items():
				if key and value:
					if isinstance(value, (list, tuple)):
						for subvalue in value:
							self.writer.start(key)
							self._item(subvalue)
							self.writer.end(key)
					else:
						self.writer.start(key)
						self._item(value)
						self.writer.end(key)
		else:
			self.writer.data(item)
		
	def flush(self):
		self.writer.flush()
Exemple #4
0
class XMLWriter(WriterBase):
    def start(self):
        self.writer = SimpleXMLWriter(self.stream)
        if self.wrapper:
            self.writer.start(self.wrapper)

    def end(self):
        if self.wrapper:
            self.writer.end()

    def item(self, item):
        if self.item_wrapper:
            self.writer.start(self.item_wrapper)

        self._item(item)
        if self.item_wrapper:
            self.writer.end(self.item_wrapper)

    def _item(self, item):
        if isinstance(item, dict):
            for key, value in item.items():
                if key and value:
                    if isinstance(value, (list, tuple)):
                        for subvalue in value:
                            self.writer.start(key)
                            self._item(subvalue)
                            self.writer.end(key)
                    elif isinstance(value, dict):
                        self.writer.start(key)
                        self._item(value)
                        self.writer.end(key)
                    else:
                        self.writer.start(key)
                        self._item(unicode(value))
                        self.writer.end(key)
        else:
            self.writer.data(item)

    def flush(self):
        self.writer.flush()