# HG changeset patch # User cmlenz # Date 1125449172 0 # Node ID a661612d17e207ee6fb1c68d9de7dfcf4dd8e236 # Parent ccf67a4de4fa7385d3c45af238b4ae388dccb87b Implement the `gettext()` method of the XML element adapter for BDB XML. diff --git a/bitten/store.py b/bitten/store.py --- a/bitten/store.py +++ b/bitten/store.py @@ -88,10 +88,20 @@ while child: if child.isNode() and name in (None, child.getLocalName()): yield BDBXMLBackend.XmlValueAdapter(child) + elif child.isNull(): + break child = child.getNextSibling() def gettext(self): - raise NotImplementedError + text = [] + child = self._value.getFirstChild() + while child: + if child.isNode() and child.getNodeName() == '#text': + text.append(child.getNodeValue()) + elif child.isNull(): + break + child = child.getNextSibling() + return ''.join(text) def write(self, out, newlines=False): return self._value.asString()