def deserialize(self, source, prefixes=None, strict=False, as_attribute=None, as_list=None, as_attribute_of_element=None): if isinstance(source, basestring): try: if os.path.exists(source): xtr = XmlTextReader(StreamReader(source)) except ValueError: xtr = XmlTextReader(StringReader(source)) else: xtr = XmlTextReader(StringReader(source)) elif hasattr(source, 'read'): xtr = XmlTextReader(StringReader(source.read())) settings = XmlReaderSettings() settings.ProhibitDtd = True reader = XmlReader.Create(xtr, settings) document = Document() document.as_attribute = as_attribute or {} document.as_list = as_list or {} document.as_attribute_of_element = as_attribute_of_element or {} self._deserialize(reader, document) xtr.Close() reader.Close() return document
def reset(self): if self._root: self._root.forget() self._root = None if self._current_el: self._current_el.forget() self._current_el = None self._root = Document() self._current_el = self._root self._current_level = 0
def deserialize(self, source, prefixes=None, strict=False): doc = None if isinstance(source, basestring): if os.path.exists(source): doc = xdm.parse(source) else: doc = xdm.parseString(source) elif hasattr(source, 'read'): doc = xdm.parse(source) document = Document() self.__deserialize_fragment(doc, document) if doc: try: doc.unlink() except KeyError: pass return document
def serialize(self, document, indent=False, encoding=ENCODING, prefixes=None, omit_declaration=False): if not isinstance(document, Document): root = document document = Document() document.xml_children.append(root) self.__serialize_element(document) if not omit_declaration: self.buffer.insert( 0, '<?xml version="1.0" encoding="%s"?>%s' % (encoding, os.linesep)) content = ''.join(self.buffer) self.buffer = [] if indent: return content.rstrip(os.linesep).encode(encoding) return content.encode(encoding)
def startDocument(self): self._root = Document() self._current_el = self._root self._current_level = 0 self._as_cdata = False
def __init__(self, out, encoding=ENCODING): xss.XMLGenerator.__init__(self, out, encoding) self._root = Document() self._current_el = self._root self._current_level = 0 self._as_cdata = False
def __init__(self): self._root = Document() self._current_el = self._root self._current_level = 0 self._as_cdata = False