diff options
Diffstat (limited to 'suds/sax/element.py')
-rw-r--r-- | suds/sax/element.py | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/suds/sax/element.py b/suds/sax/element.py index 0a015f1..9dec1f9 100644 --- a/suds/sax/element.py +++ b/suds/sax/element.py @@ -767,6 +767,29 @@ class Element: result.append('</%s>' % self.qname()) result = ''.join(result) return result + + def plain(self): + """ + Get a string representation of this XML fragment. + @return: A I{plain} string. + @rtype: basestring + """ + result = [] + result.append('<%s' % self.qname()) + result.append(self.nsdeclarations()) + for a in [unicode(a) for a in self.attributes]: + result.append(' %s' % a) + if self.isempty(): + result.append('/>') + return ''.join(result) + result.append('>') + if self.hasText(): + result.append(self.text.escape()) + for c in self.children: + result.append(c.plain()) + result.append('</%s>' % self.qname()) + result = ''.join(result) + return result def nsdeclarations(self): """ |