blob: 161ca308f4a93be97119192c82ab138118b8cc5a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
import xml.dom.minidom
def elementsWithTag(el, tag):
"""filters all elements of childNode with the specified function
example: nodes = elementsWithTag(childNodes, lambda x: x == "bla")"""
# fiiixme! (works but isn't nice)
if isinstance(tag, str):
s = tag
tag = lambda x: x == s
for x in el:
if x.nodeType != xml.dom.minidom.Element.nodeType:
continue
if tag(x.tagName):
yield x
def mergeText(nodelist):
rc = ""
for node in nodelist:
if node.nodeType == node.TEXT_NODE:
rc = rc + node.data
return rc
def filterXMLString(text):
return str.replace('&', '&').replace('<', '<').replace('>', '>').replace("'", '''). replace('"', '"')
|