changeset 177:a661612d17e2

Implement the `gettext()` method of the XML element adapter for BDB XML.
author cmlenz
date Wed, 31 Aug 2005 00:46:12 +0000
parents ccf67a4de4fa
children fcbe107ca755
files bitten/store.py
diffstat 1 files changed, 11 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- 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()
Copyright (C) 2012-2017 Edgewall Software