elems = self.node.xpath(xpath, namespaces=namespaces)
return [XmlNode(elem, namespaces) for elem in elems]
- def add_element(self, name, **kwds):
- element = etree.SubElement(self.node, name, **kwds)
+ def add_element(self, tagname, **kwds):
+ element = etree.SubElement(self.node, tagname, **kwds)
return XmlNode(element, self.namespaces)
+ def append(self, elem):
+ if isinstance(elem, XmlNode):
+ self.node.append(elem.node)
+ else:
+ self.node.append(elem)
+
def remove_elements(name):
"""
Removes all occurences of an element from the tree. Start at
def remove(element):
self.node.remove(element)
+ def get(self, key, *args):
+ return self.node.get(key, *args)
+
+ def items(self): return self.node.items()
+
def set(self, key, value):
self.node.set(key, value)
return self.toxml()
def toxml(self):
- return etree.tostring(self.root, encoding='UTF-8', pretty_print=True)
+ return etree.tostring(self.root.node, encoding='UTF-8', pretty_print=True)
# XXX smbaker, for record.load_from_string
def todict(self, elem=None):